33
Bases de données Ecole Marocaine des Sciences de l’Ingénieur © Yousra Lembachar

Les variables dans SQL, les opérateurs ensemblistes, les sous

Embed Size (px)

Citation preview

Page 1: Les variables dans SQL, les opérateurs ensemblistes, les sous

Bases de donnéesEcole Marocaine des Sciences de l’Ingénieur

© Yousra Lembachar

Page 2: Les variables dans SQL, les opérateurs ensemblistes, les sous

Plan

• Variables dans SQL

• Les fonctions d’agrégation

• Les opérateurs ensemblistes

• Les sous-requêtes SELECT

• Contraintes statiques et dynamiques

Page 3: Les variables dans SQL, les opérateurs ensemblistes, les sous

Rappel

• Requêtes CREATE/DROP de création/suppression de tables

• Requêtes UPDATE de mise à jour de lignes dans une ou plusieurs tables

• Requêtes DELETE de suppression de lignes dans une ou plusieurs tables

• Requêtes SELECT pour consultation des données

Page 4: Les variables dans SQL, les opérateurs ensemblistes, les sous

Remarques

• SQL n’est pas sensible à la casse... mais il est possible de le rendre sensible à la casse sur certains éditeurs

• La division entière se fait par l’opérateur DIV (c.f. Lien vers opérateurs arithmétiques)

Page 5: Les variables dans SQL, les opérateurs ensemblistes, les sous

Base de données

Page 6: Les variables dans SQL, les opérateurs ensemblistes, les sous

Variables dans SQL

Page 7: Les variables dans SQL, les opérateurs ensemblistes, les sous

Variables dans SQL

Les identifiants, les noms, les notes et les matières respectives des étudiants

ayant une note

Page 8: Les variables dans SQL, les opérateurs ensemblistes, les sous

Variables dans SQL

Les identifiants, les noms, les notes et les matières respectives des étudiants

ayant une note

Page 9: Les variables dans SQL, les opérateurs ensemblistes, les sous

Variables dans SQL

Les paires d’étudiants qui ont le même nom

Les paires d’étudiants qui ont le même nom sans

répétition

Page 10: Les variables dans SQL, les opérateurs ensemblistes, les sous

Fonctions d'agrégation

Page 11: Les variables dans SQL, les opérateurs ensemblistes, les sous

SELECT FONC_AGGR(COL),...

FROM nomTable1, nomTable2,...

WHERE condition

GROUP BY COL

HAVING condition

FONC_AGGR(COL) : MIN| MAX | AVG | SUM | COUNT

Fonctions d’agrégation

Page 12: Les variables dans SQL, les opérateurs ensemblistes, les sous

La clause GROUP BY

L’identifiant et la moyenne de chaque étudiant

Page 13: Les variables dans SQL, les opérateurs ensemblistes, les sous

La clause GROUP BY

L’identifiant, le nom et la moyenne de chaque

étudiant

Page 14: Les variables dans SQL, les opérateurs ensemblistes, les sous

L’identifiant, le nom et la moyenne de chaque ayant

une moyenne > 10

La clause HAVING

Page 15: Les variables dans SQL, les opérateurs ensemblistes, les sous

Le nombre de notes

Le nombre de notes par étudiant

La clause COUNT

Le nombre de notes de chaque étudiant

Page 16: Les variables dans SQL, les opérateurs ensemblistes, les sous

Opérateurs ensemblistes

Page 17: Les variables dans SQL, les opérateurs ensemblistes, les sous

UNION

Tous les noms des étudiants et des matières

Page 18: Les variables dans SQL, les opérateurs ensemblistes, les sous

INTERSECT, EXCEPT

• Clauses non supportées par MySQL

• INTERSECT pour l’intersection de deux ensembles

• EXCEPT pour la différence entre deux ensembles

Page 19: Les variables dans SQL, les opérateurs ensemblistes, les sous

Sous-requêtes SELECT

Page 20: Les variables dans SQL, les opérateurs ensemblistes, les sous

Sous-requêtes SELECT

Les identifiants des étudiants ayant une note

Même résultat pour les deux requêtes

Page 21: Les variables dans SQL, les opérateurs ensemblistes, les sous

Sous-requêtes SELECT

Les noms des étudiants ayant une note

Résultats différents

Page 22: Les variables dans SQL, les opérateurs ensemblistes, les sous

Sous-requêtes SELECT

Les noms des étudiants n’ayant pas une note

Page 23: Les variables dans SQL, les opérateurs ensemblistes, les sous

Sous-requêtes SELECT

Les noms des étudiants n’ayant pas une note

Page 24: Les variables dans SQL, les opérateurs ensemblistes, les sous

Sous-requêtes SELECT

Les noms des étudiants n’ayant pas une note

Page 25: Les variables dans SQL, les opérateurs ensemblistes, les sous

Sous-requêtes SELECT

Les noms des étudiants ayant les notes les plus

élevées

Page 26: Les variables dans SQL, les opérateurs ensemblistes, les sous

Contraintes statiques et dynamiques

Page 27: Les variables dans SQL, les opérateurs ensemblistes, les sous

Types de contraintes

• Contraintes non null

• Contraintes de clés

• Contraintes sur les lignes

Page 28: Les variables dans SQL, les opérateurs ensemblistes, les sous

Contrainte non null - 1

Page 29: Les variables dans SQL, les opérateurs ensemblistes, les sous

Contrainte non null - 2

Contrainte non null violée!

Page 30: Les variables dans SQL, les opérateurs ensemblistes, les sous

Contrainte de clé primaire

Contrainte d’intégrité (clé primaire) violée!

Page 31: Les variables dans SQL, les opérateurs ensemblistes, les sous

Contrainte de clé étrangère

Contrainte d’intégrité (clé étrangère) violée!

Page 32: Les variables dans SQL, les opérateurs ensemblistes, les sous

Contrainte de clé unique

Contrainte d’unicité violée!

Page 33: Les variables dans SQL, les opérateurs ensemblistes, les sous

Contrainte CHECK

Contrainte check violée!*

*Les contraintes check sont supportées par SQLite, mais non par MySQL.