Les requêtes SQL
Commandes SQL (dans cet ordre):
• SELECT| . . . FROM| . . . WHERE| . . . GROUP BY| . . . HAVING| . . . ORDER BY| . . .
• Obligatoires : SELECT| et FROM|.
• Si HAVING|, il y a forcément GROUP BY|.
SELECT| : afficher des données des colonnes choisies
• SELECT| [DISTINCT] col1 [AS| newNom] [, col2, . . . ].
• DISTINCT| : supprime les doublons.
• AS| newNom : renomme la colonne par newNom.
• Sélectionner tout : SELECT| *.
• Opérations :
– Sur nombres : AVG, SUM, COUNT, MAX, MIN (col ou *).
– Sur dates : DAY, MONTH, YEAR, DATE/GETDATE (date actuelle).
– +, -, *, /.
FROM| : préciser les tables utilisées pour cette requête
• FROM| table1, [table2, . . . ].
WHERE| : filtrer les données ou jointures suivant des conditions choisies
• WHERE| condition1 [AND/OR/, condition2 . . . ].
• Filtres :
– Texte : col1 [NOT|] LIKE| ”xxx”.
∗ * ou % : représente 1 ou plusieurs caractères, quels qu’ils soient.
∗ ou ? : représente 1 seul caractère, quel qu’il soit.
– Nombre : col1 ¡ / ¿ / ¡= / ¿= / ¡¿ / != / = xxx.
• Jointures : idCol1=idCol2.
• Associer des conditions :
– AND : qui vérifie A et B.
– OR : qui vérifie A ou B.
– () : pour prioriser.
GROUP BY| : agréger les données suivant la colonne choisie
• GROUP BY| col1.
• Savoir suivant quelle catégorie regrouper : ”chaque”, ”suivant”, ”par”.
• important : Si GROUP BY xxx, le SELECT ne peut contenir que :
– xxx (la colonne regroupée).
– Des calculs de nombres (AVG, SUM, MAX, MIN, COUNT).
HAVING| : filtrer des données regroupées suivant des conditions choisies
• HAVING| condition1 [AND/OR/, condition2, . . . ].
• Syntaxe : voir WHERE.
• Question à se poser : la condition est avant ou après le GROUP BY| ?
– Avant = dans le WHERE.
– Après = dans le HAVING.
ORDER BY| : trier les données suivant les colonnes et l’ordre choisis
• ORDER BY| col1 [ASC|/DESC|] [, col2 [ASC|/DESC|], . . . ].
• ASC| ou rien : ordre ascendent.
• DESC| : ordre descendant.
• Tri des données suivant col1, puis pour les données identiques de col1 tri des données
suivant col2, . . . .
• Possibilité de trier des données suivant des colonnes non affichées.
SOUS-REQUETES
• Si une condition dépend d’un calcul sur les données.
• Permet de ne faire qu’une étape & d’avoir une requête dynamique.
A savoir
• Possibilité de mettre le nomTable| devant nomColonne|.
• Les nombres sont séparés par des points.
Les requêtes UPDATE|, REMOVE| et INSERT|
UPDATE| : Mettre à jour des données existantes dans une table
• UPDATE| table name SET| column1 = value1, column2 = value2, ... WHERE| condition;
REMOVE| : Supprimer des lignes d’une table
• REMOVE FROM| table name WHERE| condition;
INSERT| : Insérer de nouvelles lignes dans une table
• INSERT INTO| table name (column1|, column2|, column3|, ...) VALUES| (value1, value2,
value3, ...);