Bd avance chap3 Requêtes d ? interrogation SQL ? Requêtes imbriquées ? Agrégat ? Regroupement CMotivation ? Les requêtes déjà vues ne correspondent qu ? à des opérations simples ? Vers le PL SQL ? Requête imbriquée ? Parfois la valeur d ? un test doit êtr

Requêtes d ? interrogation SQL ? Requêtes imbriquées ? Agrégat ? Regroupement CMotivation ? Les requêtes déjà vues ne correspondent qu ? à des opérations simples ? Vers le PL SQL ? Requête imbriquée ? Parfois la valeur d ? un test doit être calculé comme le résultat d ? une autre requête ? Agrégat ? Opération destinée à agréger plusieurs valeurs de tuples en une seule valeur en les additionnant en calculant leur moyenne etc ? Regroupement ? Décomposition d ? une table en plusieurs sous-tables sur lesquels des opérations seront e ?ectuées sous-table par sous-table des agrégats par CRequêtes imbriquées CSQL Requêtes imbriquées ? Requête imbriquée dans la clause WHERE d'une requête externe SELECT ? Requête externe FROM WHERE ? Expression Opérateur SELECT ? FROM ? WHERE ? Requête imbriquée ? Opérations ensemblistes ? Le résultat d ? une requête imbriquée est une table c ? est-à-dire un ensemble de tuples ? Les opérations possibles sont donc ensemblistes COpérateurs ensemblistes ? IN ? appartenance ensembliste ? A ? An IN ? EXISTS ? test d ? existence ? EXISTS ? COMPARAISON ? comparaison avec chaque élément d ? un ensemble ? A ? An ALL ? opérateur de comparaison CExpression IN SELECT ? FROM ? WHERE A ? An IN SELECT B ? Bn FROM ? WHERE ? ? Sémantique ? la condition est vraie si tuple désigné par A ? An de la requête externe appartient au résultat de la requête interne ? Algorithme ? Pour chaque tuple des tables de la requête externe extraire et calculez le sous-tuple A ? An ? Si le tuple obtenu appartient au résultat de la requête imbriquée calculez les expressions de projection de la clause SELECT CExpression NOT IN SELECT ? FROM ? WHERE A ? An NOT IN SELECT B ? Bn FROM ? WHERE ? ? Sémantique ? la condition est vraie si tuple désigné par A ? An de la requête externe n ? appartient pas au résultat de la requête interne ? Algorithme ? Pour chaque tuple des tables de la requête externe extraire et calculez le sous-tuple A ? An ? Si le tuple obtenu n ? appartient pas au résultat de la requête imbriquée calculez les expressions de projection de la clause SELECT CExemple avec IN Emp Eno Ename Title City Pay Title Salary ? Noms des employés qui travaillent dans des villes o? il y a des projets de budget inférieur à FSERLOMECT EEnmapme WHERE City IN SELECT City FROM Project WHERE Budget Project Pno Pname Budget City Works Eno Pno Resp Dur ? Noms des employés qui travaillent dans des villes o? il n ? y a pas de projets de budget inférieur à SFRELOEMCT EEnmapme WHERE City NOT IN SELECT City FROM Project WHERE Budget CALL SELECT ? FROM ? WHERE A ? An ALL SELECT B ? Bn FROM ? WHERE ? ? est une comparaison ? S ?émAaLnLti qu e la condition est alors vraie si la comparaison est

  • 54
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager