1/14
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
Syntaxe de base d'une requête SELECT
SELECT colonne1, colonne2 FROM table1 [JOIN table2 ON condition] [WHERE condition] [GROUP BY colonne] [HAVING condition] [ORDER BY colonne]
Filtrer les valeurs NULL
Ne jamais utiliser "= NULL". Utiliser "WHERE colonne IS NULL" ou "WHERE colonne IS NOT NULL".
Règle d'or du GROUP BY
Si le SELECT contient une fonction d'agrégation (COUNT, AVG…) ET des colonnes simples, ces colonnes simples DOIVENT être dans le GROUP BY.
Syntaxe pour trier (ORDER BY)
ORDER BY colonne [ASC | DESC] (ex: ORDER BY date_commande DESC).
Différence WHERE vs HAVING
WHERE filtre les lignes AVANT le regroupement (données brutes). HAVING filtre les groupes APRÈS le regroupement (résultats agrégés).
Syntaxe INNER JOIN (Jointure Interne)
SELECT * FROM TableA JOIN TableB ON TableA.PK = TableB.FK (Retourne uniquement les correspondances).
Syntaxe LEFT JOIN (Jointure Externe Gauche)
SELECT * FROM TableA LEFT JOIN TableB ON … (Retourne TOUTE la TableA, même sans correspondance dans B).
Sous-requête dans le WHERE
SELECT * FROM Table WHERE Prix > (SELECT AVG(Prix) FROM Table)
Priorité AND / OR
Le AND est prioritaire sur le OR. Utiliser des parenthèses pour forcer l'ordre : (A OR B) AND C.
Syntaxe COUNT
COUNT(*) compte tout (inclus NULL). COUNT(colonne) compte les valeurs non-NULL. COUNT(DISTINCT col) compte les valeurs uniques.
Syntaxe LIKE (Recherche de motif)
WHERE colonne LIKE 'motif' (% = n'importe quelle chaîne, _ = un caractère). Ex: LIKE 'A%'.
Syntaxe BETWEEN (Fourchette)
WHERE colonne BETWEEN valeur1 AND valeur2 (Bornes incluses généralement).
Syntaxe IN (Liste de valeurs)
WHERE colonne IN (valeur1, valeur2, valeur3). Équivalent à des OR successifs.
Syntaxe AS (Alias)
SELECT col AS NouveauNom FROM Table AS T (Renomme temporairement pour la lisibilité).
Date actuelle (Fonction)
SYSDATE, NOW() ou CURRENT_DATE (selon le SGBD). Ex: WHERE date < SYSDATE.