Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

SQL Data Query Language (DQL)

Icône Présentation
1 / 1

Dans le troisième et quatrième chapitres du cours, nous avons abordé les concepts suivants :

Sélections

SELECT colonne1, colonne2, ...
FROM table
WHERE condition
GROUP BY colonne
HAVING condition
ORDER BY colonne
LIMIT n

Sous-requêtes

SELECT colonne1, colonne2, ...
FROM table
WHERE colonne IN (SELECT colonne FROM table WHERE condition)

EXISTS

SELECT colonne1, colonne2, ...
FROM table1
WHERE EXISTS (SELECT colonne FROM table2 WHERE condition)

Jointures

SELECT colonne1, colonne2, ...
FROM table1
JOIN table2 ON table1.colonne = table2.colonne

ou

SELECT colonne1, colonne2, ...
FROM table1, table2
WHERE table1.colonne = table2.colonne

Auto-jointures

Aussi appelées jointures cycliques ou jointures de soi-même

Soit la table Employes :

CREATE TABLE Employes (
idEmploye INT PRIMARY KEY,
nomEmploye TEXT,
idSuperviseur INT,
FOREIGN KEY (idSuperviseur) REFERENCES Employes(idEmploye)
);

Pour obtenir le nom de l’employé et le nom de son superviseur :

SELECT e1.nomEmploye AS 'employe', e2.nomEmploye AS 'superviseur'
FROM Employes e1
JOIN Employes e2 ON e1.idSuperviseur = e2.idEmploye

ou

SELECT e1.nomEmploye AS 'employe', e2.nomEmploye AS 'superviseur'
FROM Employes e1, Employes e2
WHERE e1.idSuperviseur = e2.idEmploye

Agrégations

SELECT fonction(colonne)
FROM table
GROUP BY colonne
HAVING condition

Fonctions agrégatives : COUNT, SUM, AVG, MIN, MAX

Unions et intersections

SELECT colonne1, colonne2, ...
FROM table1
UNION
SELECT colonne1, colonne2, ...
FROM table2

ou

SELECT colonne1, colonne2, ...
FROM table1
INTERSECT
SELECT colonne1, colonne2, ...
FROM table2