Partielo | Créer ta fiche de révision en ligne rapidement

sql

A retenir :


Fiche de Révision : Bases de Données et SQL

1. Opérations ensemblistes

Définition :

Des opérations qui permettent de combiner ou comparer deux tables :

  • Union (U) : Combine deux tables pour inclure toutes les lignes (sans doublons).
  • Intersection (∩) : Retourne les lignes communes aux deux tables.
  • Différence (-) : Retourne les lignes présentes dans la première table mais pas dans la seconde.

Conditions : Les schémas des tables doivent être compatibles (mêmes colonnes et types).


2. Commandes SQL associées

  • UNION : Combine les résultats de deux requêtes.
sql
Copier le code
SELECT colonne FROM table1 UNION SELECT colonne FROM table2;
  • INTERSECT : Sélectionne les valeurs communes aux deux tables.
sql
Copier le code
SELECT colonne FROM table1 INTERSECT SELECT colonne FROM table2;
  • EXCEPT : Exclut les lignes de la deuxième table.
sql
Copier le code
SELECT colonne FROM table1 EXCEPT SELECT colonne FROM table2;

3. Ensemble minimal d'opérations relationnelles

Pour manipuler des données, il suffit de maîtriser les opérations suivantes :

  • Sélection (SELECT)
  • Projection (SELECT avec colonnes spécifiques)
  • Produit cartésien (CROSS JOIN)
  • Union (UNION)
  • Différence (EXCEPT)
  • Renommage (AS)

4. Tri des résultats : ORDER BY

  • ORDER BY : Trie les résultats par une ou plusieurs colonnes.
  • Par défaut, le tri est croissant (ASC). Pour un tri décroissant (DESC), il faut le préciser.
  • Exemple :
sql
Copier le code
SELECT * FROM etudiant ORDER BY nom ASC;

5. Fonctions d'agrégation

Les fonctions de groupe opèrent sur un ensemble de valeurs et retournent une seule valeur :

  • AVG() : Moyenne
  • COUNT() : Compte le nombre d’éléments
  • SUM() : Somme des valeurs
  • MIN() / MAX() : Valeur minimale ou maximale
  • Exemple :
sql
Copier le code
SELECT AVG(note) FROM notes;

6. Grouper les résultats : GROUP BY

La clause GROUP BY permet de regrouper les lignes par une ou plusieurs colonnes pour appliquer des fonctions d'agrégation à chaque groupe.

Exemple :

sql
Copier le code
SELECT idEtud, AVG(note) FROM notes GROUP BY idEtud;

Attention : Toutes les colonnes dans GROUP BY doivent être présentes dans le SELECT.

7. Filtrer les groupes : HAVING

La clause HAVING permet de filtrer les résultats après la création des groupes. Elle fonctionne comme un WHERE, mais pour les groupes.

Exemple :

sql
Copier le code
SELECT idEtud, AVG(note) FROM notes GROUP BY idEtud HAVING COUNT(note) >= 2;

8. Différence entre WHERE et HAVING

  • WHERE : Filtre les lignes avant la création des groupes.
  • HAVING : Filtre après la création des groupes.

Exemples pratiques

  1. Lister les étudiants et enseignants avec noms communs
sql
Copier le code
SELECT nom FROM enseignant INTERSECT SELECT nom FROM etudiant;
  1. Lister les enseignants qui ne sont pas étudiants
sql
Copier le code
SELECT nom FROM enseignant EXCEPT SELECT nom FROM etudiant;

Récapitulatif visuel :

OpérationDescriptionExemple SQLUNIONCombine toutes les lignesSELECT * FROM A UNION SELECT * FROM B;INTERSECTSélectionne les lignes communesSELECT * FROM A INTERSECT SELECT * FROM B;EXCEPTSoustrait les lignes de la deuxième tableSELECT * FROM A EXCEPT SELECT * FROM B;GROUP BYRegroupe les lignes par critèresSELECT nom, COUNT(*) FROM table GROUP BY nom;HAVINGFiltre après groupementHAVING COUNT(*) > 1;ORDER BYTrie les résultatsORDER BY nom DESC;


sql

A retenir :


Fiche de Révision : Bases de Données et SQL

1. Opérations ensemblistes

Définition :

Des opérations qui permettent de combiner ou comparer deux tables :

  • Union (U) : Combine deux tables pour inclure toutes les lignes (sans doublons).
  • Intersection (∩) : Retourne les lignes communes aux deux tables.
  • Différence (-) : Retourne les lignes présentes dans la première table mais pas dans la seconde.

Conditions : Les schémas des tables doivent être compatibles (mêmes colonnes et types).


2. Commandes SQL associées

  • UNION : Combine les résultats de deux requêtes.
sql
Copier le code
SELECT colonne FROM table1 UNION SELECT colonne FROM table2;
  • INTERSECT : Sélectionne les valeurs communes aux deux tables.
sql
Copier le code
SELECT colonne FROM table1 INTERSECT SELECT colonne FROM table2;
  • EXCEPT : Exclut les lignes de la deuxième table.
sql
Copier le code
SELECT colonne FROM table1 EXCEPT SELECT colonne FROM table2;

3. Ensemble minimal d'opérations relationnelles

Pour manipuler des données, il suffit de maîtriser les opérations suivantes :

  • Sélection (SELECT)
  • Projection (SELECT avec colonnes spécifiques)
  • Produit cartésien (CROSS JOIN)
  • Union (UNION)
  • Différence (EXCEPT)
  • Renommage (AS)

4. Tri des résultats : ORDER BY

  • ORDER BY : Trie les résultats par une ou plusieurs colonnes.
  • Par défaut, le tri est croissant (ASC). Pour un tri décroissant (DESC), il faut le préciser.
  • Exemple :
sql
Copier le code
SELECT * FROM etudiant ORDER BY nom ASC;

5. Fonctions d'agrégation

Les fonctions de groupe opèrent sur un ensemble de valeurs et retournent une seule valeur :

  • AVG() : Moyenne
  • COUNT() : Compte le nombre d’éléments
  • SUM() : Somme des valeurs
  • MIN() / MAX() : Valeur minimale ou maximale
  • Exemple :
sql
Copier le code
SELECT AVG(note) FROM notes;

6. Grouper les résultats : GROUP BY

La clause GROUP BY permet de regrouper les lignes par une ou plusieurs colonnes pour appliquer des fonctions d'agrégation à chaque groupe.

Exemple :

sql
Copier le code
SELECT idEtud, AVG(note) FROM notes GROUP BY idEtud;

Attention : Toutes les colonnes dans GROUP BY doivent être présentes dans le SELECT.

7. Filtrer les groupes : HAVING

La clause HAVING permet de filtrer les résultats après la création des groupes. Elle fonctionne comme un WHERE, mais pour les groupes.

Exemple :

sql
Copier le code
SELECT idEtud, AVG(note) FROM notes GROUP BY idEtud HAVING COUNT(note) >= 2;

8. Différence entre WHERE et HAVING

  • WHERE : Filtre les lignes avant la création des groupes.
  • HAVING : Filtre après la création des groupes.

Exemples pratiques

  1. Lister les étudiants et enseignants avec noms communs
sql
Copier le code
SELECT nom FROM enseignant INTERSECT SELECT nom FROM etudiant;
  1. Lister les enseignants qui ne sont pas étudiants
sql
Copier le code
SELECT nom FROM enseignant EXCEPT SELECT nom FROM etudiant;

Récapitulatif visuel :

OpérationDescriptionExemple SQLUNIONCombine toutes les lignesSELECT * FROM A UNION SELECT * FROM B;INTERSECTSélectionne les lignes communesSELECT * FROM A INTERSECT SELECT * FROM B;EXCEPTSoustrait les lignes de la deuxième tableSELECT * FROM A EXCEPT SELECT * FROM B;GROUP BYRegroupe les lignes par critèresSELECT nom, COUNT(*) FROM table GROUP BY nom;HAVINGFiltre après groupementHAVING COUNT(*) > 1;ORDER BYTrie les résultatsORDER BY nom DESC;

Retour

Actions

Actions