SQL décrit quoi faire, tandis qu’un langage procédural décrit comment le faire.
★ À maîtriser
📌 Les conditions WHERE peuvent utiliser les comparaisons =, <>, <, >, <= et >=, les opérateurs LIKE, IN, AND, OR et NOT.
Compléments
📌 L’expression AS permet de renommer un attribut dans le résultat d’une requête, par exemple name AS beer.
Dans une clause SELECT portant sur une seule relation, l’astérisque représente tous les attributs de cette relation.
Une clause SELECT peut contenir des expressions, comme price*114 AS priceInYen, ainsi que des constantes textuelles comme 'likes Bud'.
FROM → WHERE → SELECT : partir, filtrer, projeter.
★ À maîtriser
📌 Toute comparaison avec NULL, y compris NULL = NULL, produit UNKNOWN, et une ligne n’est retenue par WHERE que si la condition vaut TRUE.
Compléments
📌 L’expression IS NULL ou IS NOT NULL renvoie toujours TRUE ou FALSE pour tester la présence d’une valeur NULL.
TRUE sélectionne, FALSE et UNKNOWN éliminent.
★ À maîtriser
Une requête portant sur plusieurs relations forme d’abord le produit des relations de FROM, applique la condition de WHERE, puis projette les attributs et expressions de SELECT.
Pour trouver les bières aimées par une personne fréquentant Joe’s Bar, on relie Likes et Frequents par l’égalité de leur attribut drinker et on impose bar = 'Joe''s Bar'.
Une auto-jointure de Beers b1 et Beers b2 trouve les paires de bières du même fabricant avec b1.manf = b2.manf et b1.name < b2.name, ce qui évite les paires identiques et les doublons inversés.
Compléments
📌 Lorsqu’un attribut porte le même nom dans plusieurs relations, il est désigné par la forme relation.attribut, comme Frequents.drinker.
Deux variables de tuple parcourent ensemble les combinaisons de relations.
★ À maîtriser
Compléments
Theta explicite la condition, NATURAL l’infère ; INNER exclut, OUTER conserve les tuples orphelins.
★ À maîtriser
Une sous-requête garantie de produire un seul tuple peut être utilisée comme une valeur, mais une erreur d’exécution survient si elle ne produit aucun tuple ou plusieurs tuples.
L’opérateur IN est vrai si le tuple appartient à la relation produite par la sous-requête, tandis que NOT IN teste son absence.
EXISTS est vrai si et seulement si le résultat de la sous-requête n’est pas vide.
Une sous-requête autonome ne référence pas la requête principale et peut être évaluée une seule fois, tandis qu’une sous-requête corrélée référence le tuple courant et peut être évaluée pour chaque tuple principal.
Compléments
📌 x = ANY sous-requête est vrai si x est égal à au moins un tuple produit, tandis que x <> ALL sous-requête est vrai si x est différent de tous les tuples produits.
IN teste l’appartenance, EXISTS teste la non-vacuité, ANY généralise OR et ALL généralise AND.
★ À maîtriser
📌 UNION, INTERSECT et EXCEPT utilisent par défaut une sémantique ensembliste qui élimine les doublons.
Compléments
📌 SELECT DISTINCT force l’élimination des doublons dans le résultat.
📌 Le mot-clé ALL conserve les doublons dans les opérateurs d’ensemble, comme dans UNION ALL ou EXCEPT ALL.
SELECT conserve les doublons, tandis que les opérateurs d’ensemble les éliminent par défaut.
★ À maîtriser
📌 Les valeurs NULL ne contribuent ni à SUM, ni à AVG, ni à COUNT, et ne peuvent être le minimum ou le maximum d’une colonne ; COUNT d’un ensemble vide vaut toutefois 0.
📌 Avec une agrégation, chaque élément de SELECT doit être soit agrégé, soit présent dans la liste GROUP BY.
Compléments
🔄 L’ordre syntaxique des clauses est: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY
🔄 L’ordre d’exécution conceptuel est: FROM, WHERE, GROUP BY, HAVING, ORDER BY, SELECT
Filtrer les tuples, regrouper, filtrer les groupes, ordonner.
| Dimension | Theta | Naturelle |
|---|---|---|
| Condition de jointure | Explicite avec ON | Implicite par attributs de même nom |
| Forme | R JOIN S ON condition | R NATURAL JOIN S |
| Nommage requis | Pas nécessairement identique | Attributs joints de même nom |
| Type | Tuples conservés | Option |
|---|---|---|
| INNER | Correspondances uniquement | Valeur par défaut |
| LEFT OUTER | Correspondances et pendants gauches | LEFT |
| RIGHT OUTER | Correspondances et pendants droits | RIGHT |
| FULL OUTER | Correspondances et pendants des deux côtés | FULL |
Teste tes connaissances sur Langage SQL et requêtes avec 24 questions à choix multiples et corrections détaillées.
1. Quelle caractéristique décrit le mieux le rôle de SQL dans l’exécution d’une requête ?
2. Quelle relation associe un consommateur à une bière qu’il apprécie dans le schéma considéré ?
Mémorisez les concepts clés de Langage SQL et requêtes avec 52 flashcards interactives.
Qu'est-ce que SQL exprime principalement ?
Ce qu'il faut faire, pas comment le faire.
Qui choisit la méthode d'exécution optimisée en SQL ?
Le système de gestion de bases de données.
Quelles relations contient le schéma d'exemple ?
Beers, Bars, Drinkers, Likes, Sells, Frequents.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches