La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Traduction des opérations sous MySQL

Présentations similaires


Présentation au sujet: "Traduction des opérations sous MySQL"— Transcription de la présentation:

1 Traduction des opérations sous MySQL
Projection Ex : Select noetud, nometud From Etudiant; Sélection ou restriction From Etudiant Where age < 18 and nometud=‘Martin’; Noetud,nometud Etudiant age < 18 et nometud=‘Martin’ Etudiant

2 Rappels Tri Union - Syntaxe SQL2 implémentée :
Ex : SELECT nometud FROM Etudiant ORDER BY nometud, age DESC Union - Syntaxe SQL2 implémentée : select ... from R1 where ... Union select ... From R2 where ... Nometud , age Etudiant R1 R2 U

3 Rappel : Intersection Syntaxe SQL2 pas implémentée :
select … from pilote INTERSECT select … from vol Remplacée par requête imbriquée en SQL de base : ex : select plnom from pilote where nopil in (select nopil from vol) Pilote Vol U nopil

4 Rappel : Différence Syntaxe SQL2 pas implémentée :
select ... From pilote where ... EXCEPT (ou MINUS) select ... from vol where ... Remplacée par requête imbriquée en SQL de base avec NOT IN : ex : select plnom from pilote where nopil NOT IN (select nopil from vol) pilote vol _ nopil

5 Expression d’une jointure
vol.nopil=pilote.nopil pilote vol Dans une requête principale : Ex: SELECT plnom FROM vol, pilote WHERE vol.nopil=pilote.nopil; Avec une requête imbriquée : Ex: SELECT plnom FROM pilote WHERE nopil in (select nopil from vol); Ou avec une nouvelle syntaxe : Ex: SELECT plnom FROM pilote INNER JOIN vol ON pilote.nopil=vol.nopil;

6 Différents types de jointure
(1/2) Équijointure : Jointure avec un test d’égalité (Vol.nopil = Pilote.nopil) Autojointure : Jointure d’une table avec elle-même Thêta-jointure : Jointure avec un opérateur différent de l’égalité (Avion1.capacité > Avion2.capacité) Jointure interne : Contient que les tuples qui "joignent" c-à-d ceux ayant au moins un correspondant dans l’autre table

7 Différents types de jointure
(2/2) Jointure externe : Mécanisme qui permet de conserver les tuples n’ayant pas de correspondant dans l’autre table Jointure externe gauche (LEFT OUTER JOIN) SELECT avion.noav, avnom FROM avion LEFT JOIN vol ON avion.noav=vol.noav; Jointure externe droite (RIGHT OUTER JOIN) SELECT avion.noav, avnom FROM avion RIGHT JOIN vol ON avion.noav=vol.noav; Voir syntaxe Oracle dans le support de cours

8 Expression d’un produit cartésien
Lorsque la clause WHERE est oubliée Ex: SELECT * FROM vol, pilote; Lorsque la jointure s’effectue entre deux champs non clés de même type Ex: SELECT * FROM pilote, avion WHERE plville = loc; pilote pilote X vol vol Nombre total de n-uplets = nbr de n-uplets de Vol X nbr de n-uplets de Pilote pilote pilote X avion avion plville=loc

9 Regroupement ou Agrégat
Calcul répétitif sur des groupes de lignes Ex : SELECT date_com, COUNT(*) FROM commande GROUP BY date_com Règle : Tous les attributs du SELECT qui ne sont pas dans une fonction de groupe doivent être dans le Group by Conseils : Repérer les expressions "pour chaque" ou "par" qui introduisent un traitement répétitif En cas de requête complexe, se représenter le résultat et étudier comment on procèderait manuellement au calcul Count(*) Date_com commande


Télécharger ppt "Traduction des opérations sous MySQL"

Présentations similaires


Annonces Google