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

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

Transcript of Les variables dans SQL, les opérateurs ensemblistes, les sous ...

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.