L3 Info : SGBD
 
◃  Ch. 10 SQL : DQL (Algèbre relationnel et SQL)  ▹
 

Les sous-requête dans FROM

  • En algèbre relationnel, le résultat d'une opération est une relation
  • En SQL, c'est la même chose : le résultat d'une requête est une table
  • On peut donc utiliser le résultat d'une requête dans la clause FROM d'une requête !
  • SQL impose la présence d'un alias pour les sous-requêtes de la clause FROM (sans le mot-clé AS pour Oracle)
  • Exemple :
    -- liste des étudiants et des enseignants référents
    SELECT etud_nom, etud_prenom, prof_nom, prof_prenom
    FROM etudiant NATURAL JOIN (SELECT * FROM diplome NATURAL JOIN professeur) AS DP;
    +--------+-----------+--------+-----------+
    |etud_nom|etud_prenom|prof_nom|prof_prenom|
    +--------+-----------+--------+-----------+
    |Martin  |Jacques    |Jay     |Véronique  |
    |Martin  |Pierre     |Jay     |Véronique  |
    +--------+-----------+--------+-----------+