SlideShare une entreprise Scribd logo
1  sur  10
Copyright © Oracle Corporation, 1998. Tous droits réservés.
99
Écriture de Sous-
Interrogations
Synchronisées
www.TelechargerCours.com
9-2 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Objectifs
A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez :
• Décrire les types de problèmes qui
peuvent être résolus à l'aide de Sous-
Interrogations Synchronisées
• Écrire des Sous-Interrogations
Synchronisées
• Utiliser les opérateurs EXISTS et NOT
EXISTS
www.TelechargerCours.com
9-3 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Exemple & Problème
Supposons qu’on veut afficher tous lesSupposons qu’on veut afficher tous les
employés ayant un salaire supérieur auemployés ayant un salaire supérieur au
salaire moyen de leur département.salaire moyen de leur département.
Deux solutionsDeux solutions
1. Utiliser une S.I dans la clause FROM1. Utiliser une S.I dans la clause FROM
2. Utiliser une S.I2. Utiliser une S.I SynchroniséeSynchronisée
www.TelechargerCours.com
9-4 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Sous-Interrogations
Synchronisées
Conçue pour un traitement ligne à ligne,Conçue pour un traitement ligne à ligne,
chaque sous-interrogation est exécutéechaque sous-interrogation est exécutée
une seule fois pour chaque ligne de laune seule fois pour chaque ligne de la
requête externe.requête externe.
GET
ligne candidate
EXECUTE
requête interne utilisant une valeur de
la ligne candidate
USE
valeur(s) de la requête interne
qualifiant la ligne candidate
9-5 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Sous-Interrogations
Synchronisées
SyntaxeSyntaxe
SELECT outer1, outer2, ...
FROM table1 alias1
WHERE outer1 operator (SELECT inner1
FROM table2 alias2
WHERE alias1.outer2 = alias2.inner1);
La sous-interrogation fait référence à
une colonne d'une table de la requête
principale.
www.TelechargerCours.com
9-6 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Utilisation de Sous-
Interrogations Synchronisées
Chaque fois que la requête
externe est traitée,
la requête interne
est exécutée.
EMPNO SAL DEPTNO
-------- --------- ---------
7839 5000 10
7698 2850 30
7566 2975 20
...
6 rows selected.
EMPNO SAL DEPTNO
-------- --------- ---------
7839 5000 10
7698 2850 30
7566 2975 20
...
6 rows selected.
Recherchez tous les employés dont leRecherchez tous les employés dont le
salaire est supérieur au salaire moyen desalaire est supérieur au salaire moyen de
leur département.leur département.
SQL> SELECT empno, sal, deptno
2 FROM emp e
3 WHERE sal > (SELECT AVG(sal)
4 FROM emp e1
5 WHERE e.deptno = e1.deptno);
9-7 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Utilisation de l'Opérateur EXISTS
Dès qu'il trouve une ligne par la sous-Dès qu'il trouve une ligne par la sous-
interrogation :interrogation :
• La recherche dans la requête interne
est interrompue.
• La condition est vraie (TRUE).
S'il ne trouve aucune ligne par la sous-S'il ne trouve aucune ligne par la sous-
interrogation :interrogation :
• La condition est fausse (FALSE).
www.TelechargerCours.com
9-8 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Recherchez les employés ayant au moins
une personne sous leur responsabilité.
Utilisation de l'Opérateur
EXISTS
EMPNO ENAME JOB DEPTNO
--------- ---------- --------- ---------
7839 KING PRESIDENT 10
7698 BLAKE MANAGER 30
7782 CLARK MANAGER 10
7566 JONES MANAGER 20
...
6 rows selected.
SQL> SELECT empno, ename, job, deptno
2 FROM emp outer
3 WHERE EXISTS (SELECT empno
4 FROM emp inner
5 WHERE inner.mgr = outer.empno);
9-9 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Recherchez tous les départements qui ne
comprennent pas d'employés.
Utilisation de l'Opérateur
NOT EXISTS
DEPTNO DNAME
--------- ----------
40 OPERATIONS
DEPTNO DNAME
--------- ----------
40 OPERATIONS
SQL> SELECT deptno, dname
2 FROM dept d
3 WHERE NOT EXISTS (SELECT '1'
4 FROM emp e
5 WHERE d.deptno = e.deptno);
www.TelechargerCours.com
9-10 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Résumé
• Les Sous-Interrogations Synchronisées
s'avèrent très utiles chaque fois qu'une
sous-interrogation doit retourner un
résultat différent pour chaque ligne
candidate.
• EXISTS est un opérateur booléen qui
permet de tester l'existence d'une
valeur.
• Il est possible d'utiliser des Sous-
Interrogations Synchronisées avec les
ordres SELECT, UPDATE et DELETE.
www.TelechargerCours.com

Contenu connexe

Tendances

La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec JavaPapa Cheikh Cisse
 
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Pluswebreaker
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismeMouna Torjmen
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oraclewebreaker
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Ayoub Mkharbach
 
Cours java avance débutant facile l'essentiel swing ,events
Cours java avance débutant facile l'essentiel swing ,events Cours java avance débutant facile l'essentiel swing ,events
Cours java avance débutant facile l'essentiel swing ,events Houssem Hamrouni
 
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de GroupeSQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de Groupewebreaker
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTwebreaker
 

Tendances (20)

La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec Java
 
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
UML
UMLUML
UML
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Introduction à pl/sql
Introduction à pl/sqlIntroduction à pl/sql
Introduction à pl/sql
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oracle
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
Cours java
Cours javaCours java
Cours java
 
Java
JavaJava
Java
 
Cours java avance débutant facile l'essentiel swing ,events
Cours java avance débutant facile l'essentiel swing ,events Cours java avance débutant facile l'essentiel swing ,events
Cours java avance débutant facile l'essentiel swing ,events
 
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de GroupeSQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
 

En vedette

Examne sybase corrige
Examne sybase corrigeExamne sybase corrige
Examne sybase corrigewebreaker
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unixwebreaker
 
Paie Marocaine [Suite RH] [Odoo]
Paie Marocaine [Suite RH] [Odoo]Paie Marocaine [Suite RH] [Odoo]
Paie Marocaine [Suite RH] [Odoo]KARIZMA CONSEIL
 
Point de vente ( Odoo )
Point de vente ( Odoo ) Point de vente ( Odoo )
Point de vente ( Odoo ) KARIZMA CONSEIL
 
Paie Marocaine Sous Odoo
Paie Marocaine Sous OdooPaie Marocaine Sous Odoo
Paie Marocaine Sous OdooKARIZMA CONSEIL
 
Comptabilité général
Comptabilité généralComptabilité général
Comptabilité généralhassan1488
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlpluswebreaker
 
Presentation module HR et la gestion de la paie marocaine
Presentation module HR et la gestion de la paie marocainePresentation module HR et la gestion de la paie marocaine
Presentation module HR et la gestion de la paie marocaineHassan WAHSISS
 
MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES
MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES
MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES Gypsy Ferrari
 
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...Adrien Bourzat
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oraclewebreaker
 
Manipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracleManipulation des Données , cours sql oracle
Manipulation des Données , cours sql oraclewebreaker
 
La negociation, la proposition rectifiee xxxx
La negociation, la proposition rectifiee xxxxLa negociation, la proposition rectifiee xxxx
La negociation, la proposition rectifiee xxxxsergedicredico
 
Création et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL OracleCréation et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL Oraclewebreaker
 
L'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL OracleL'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL Oraclewebreaker
 
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...altima°
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 

En vedette (19)

Examne sybase corrige
Examne sybase corrigeExamne sybase corrige
Examne sybase corrige
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
 
Paie Marocaine [Suite RH] [Odoo]
Paie Marocaine [Suite RH] [Odoo]Paie Marocaine [Suite RH] [Odoo]
Paie Marocaine [Suite RH] [Odoo]
 
Point de vente ( Odoo )
Point de vente ( Odoo ) Point de vente ( Odoo )
Point de vente ( Odoo )
 
Paie Marocaine Sous Odoo
Paie Marocaine Sous OdooPaie Marocaine Sous Odoo
Paie Marocaine Sous Odoo
 
Comptabilité général
Comptabilité généralComptabilité général
Comptabilité général
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
 
Presentation module HR et la gestion de la paie marocaine
Presentation module HR et la gestion de la paie marocainePresentation module HR et la gestion de la paie marocaine
Presentation module HR et la gestion de la paie marocaine
 
MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES
MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES
MÉMOIRE DE FIN D'ÉTUDE - LA COMMUNICATION DES CONCEPT-STORES
 
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oracle
 
Crm odoo (OpenDev)
Crm odoo (OpenDev)Crm odoo (OpenDev)
Crm odoo (OpenDev)
 
ICHEC BAC 1 INTRODUCTION AU MANAGEMENT CH.2
ICHEC BAC 1 INTRODUCTION AU MANAGEMENT CH.2ICHEC BAC 1 INTRODUCTION AU MANAGEMENT CH.2
ICHEC BAC 1 INTRODUCTION AU MANAGEMENT CH.2
 
Manipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracleManipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracle
 
La negociation, la proposition rectifiee xxxx
La negociation, la proposition rectifiee xxxxLa negociation, la proposition rectifiee xxxx
La negociation, la proposition rectifiee xxxx
 
Création et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL OracleCréation et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL Oracle
 
L'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL OracleL'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL Oracle
 
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
Et si le renouveau des magasins passait par les tablettes vendeurs ? (confére...
 
Formation python
Formation pythonFormation python
Formation python
 

Similaire à Écriture de Sous-Interrogations Synchronisées | SQL Oracle

09_SousInterroSynchro.ppt
09_SousInterroSynchro.ppt09_SousInterroSynchro.ppt
09_SousInterroSynchro.pptMostafaKkb
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?Benoit Fillon
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performancepkernevez
 
Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Ippon
 

Similaire à Écriture de Sous-Interrogations Synchronisées | SQL Oracle (6)

09_SousInterroSynchro.ppt
09_SousInterroSynchro.ppt09_SousInterroSynchro.ppt
09_SousInterroSynchro.ppt
 
Les06.ppt
Les06.pptLes06.ppt
Les06.ppt
 
Les07.ppt
Les07.pptLes07.ppt
Les07.ppt
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 
Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon
 

Dernier

Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurdinaelchaine
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 

Dernier (20)

Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteur
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 

Écriture de Sous-Interrogations Synchronisées | SQL Oracle

  • 1. Copyright © Oracle Corporation, 1998. Tous droits réservés. 99 Écriture de Sous- Interrogations Synchronisées www.TelechargerCours.com
  • 2. 9-2 Copyright © Oracle Corporation, 1998. Tous droits réservés. Objectifs A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez : • Décrire les types de problèmes qui peuvent être résolus à l'aide de Sous- Interrogations Synchronisées • Écrire des Sous-Interrogations Synchronisées • Utiliser les opérateurs EXISTS et NOT EXISTS www.TelechargerCours.com
  • 3. 9-3 Copyright © Oracle Corporation, 1998. Tous droits réservés. Exemple & Problème Supposons qu’on veut afficher tous lesSupposons qu’on veut afficher tous les employés ayant un salaire supérieur auemployés ayant un salaire supérieur au salaire moyen de leur département.salaire moyen de leur département. Deux solutionsDeux solutions 1. Utiliser une S.I dans la clause FROM1. Utiliser une S.I dans la clause FROM 2. Utiliser une S.I2. Utiliser une S.I SynchroniséeSynchronisée www.TelechargerCours.com
  • 4. 9-4 Copyright © Oracle Corporation, 1998. Tous droits réservés. Sous-Interrogations Synchronisées Conçue pour un traitement ligne à ligne,Conçue pour un traitement ligne à ligne, chaque sous-interrogation est exécutéechaque sous-interrogation est exécutée une seule fois pour chaque ligne de laune seule fois pour chaque ligne de la requête externe.requête externe. GET ligne candidate EXECUTE requête interne utilisant une valeur de la ligne candidate USE valeur(s) de la requête interne qualifiant la ligne candidate
  • 5. 9-5 Copyright © Oracle Corporation, 1998. Tous droits réservés. Sous-Interrogations Synchronisées SyntaxeSyntaxe SELECT outer1, outer2, ... FROM table1 alias1 WHERE outer1 operator (SELECT inner1 FROM table2 alias2 WHERE alias1.outer2 = alias2.inner1); La sous-interrogation fait référence à une colonne d'une table de la requête principale. www.TelechargerCours.com
  • 6. 9-6 Copyright © Oracle Corporation, 1998. Tous droits réservés. Utilisation de Sous- Interrogations Synchronisées Chaque fois que la requête externe est traitée, la requête interne est exécutée. EMPNO SAL DEPTNO -------- --------- --------- 7839 5000 10 7698 2850 30 7566 2975 20 ... 6 rows selected. EMPNO SAL DEPTNO -------- --------- --------- 7839 5000 10 7698 2850 30 7566 2975 20 ... 6 rows selected. Recherchez tous les employés dont leRecherchez tous les employés dont le salaire est supérieur au salaire moyen desalaire est supérieur au salaire moyen de leur département.leur département. SQL> SELECT empno, sal, deptno 2 FROM emp e 3 WHERE sal > (SELECT AVG(sal) 4 FROM emp e1 5 WHERE e.deptno = e1.deptno);
  • 7. 9-7 Copyright © Oracle Corporation, 1998. Tous droits réservés. Utilisation de l'Opérateur EXISTS Dès qu'il trouve une ligne par la sous-Dès qu'il trouve une ligne par la sous- interrogation :interrogation : • La recherche dans la requête interne est interrompue. • La condition est vraie (TRUE). S'il ne trouve aucune ligne par la sous-S'il ne trouve aucune ligne par la sous- interrogation :interrogation : • La condition est fausse (FALSE). www.TelechargerCours.com
  • 8. 9-8 Copyright © Oracle Corporation, 1998. Tous droits réservés. Recherchez les employés ayant au moins une personne sous leur responsabilité. Utilisation de l'Opérateur EXISTS EMPNO ENAME JOB DEPTNO --------- ---------- --------- --------- 7839 KING PRESIDENT 10 7698 BLAKE MANAGER 30 7782 CLARK MANAGER 10 7566 JONES MANAGER 20 ... 6 rows selected. SQL> SELECT empno, ename, job, deptno 2 FROM emp outer 3 WHERE EXISTS (SELECT empno 4 FROM emp inner 5 WHERE inner.mgr = outer.empno);
  • 9. 9-9 Copyright © Oracle Corporation, 1998. Tous droits réservés. Recherchez tous les départements qui ne comprennent pas d'employés. Utilisation de l'Opérateur NOT EXISTS DEPTNO DNAME --------- ---------- 40 OPERATIONS DEPTNO DNAME --------- ---------- 40 OPERATIONS SQL> SELECT deptno, dname 2 FROM dept d 3 WHERE NOT EXISTS (SELECT '1' 4 FROM emp e 5 WHERE d.deptno = e.deptno); www.TelechargerCours.com
  • 10. 9-10 Copyright © Oracle Corporation, 1998. Tous droits réservés. Résumé • Les Sous-Interrogations Synchronisées s'avèrent très utiles chaque fois qu'une sous-interrogation doit retourner un résultat différent pour chaque ligne candidate. • EXISTS est un opérateur booléen qui permet de tester l'existence d'une valeur. • Il est possible d'utiliser des Sous- Interrogations Synchronisées avec les ordres SELECT, UPDATE et DELETE. www.TelechargerCours.com

Notes de l'éditeur

  1. Objectifs Dans ce chapitre, vous allez apprendre à résoudre différents problèmes à l'aide de Sous-Interrogations Synchronisées.
  2. Utilisation de Sous-Interrogations Synchronisées Dans l'exemple ci-dessus, nous recherchons les employés dont le salaire est supérieur au salaire moyen de leur département. Dans ce cas, la Sous-Interrogation Synchronisée calcule explicitement le salaire moyen de chaque département. Comme les requêtes externe et interne utilisent toutes les deux la table EMP dans la clause FROM, un alias est attribué à chaque ordre SELECT pour plus de clarté. Grâce aux alias, les ordres SELECT deviennent plus lisibles et la requête s'exécute correctement, car elle peut distinguer la colonne de la table interne de celle de la table externe, ce qui ne serait pas possible sans les alias.
  3. Sous-Interrogations Synchronisées Une Sous-Interrogation Synchronisée ou Corrrélée est une sous-interrogation imbriquée qui est exécutée une seule fois pour chaque ligne traitée par la requête principale et qui, pendant son exécution, utilise une valeur d'une colonne de la requête externe. sous-interrogations Imbriquées et Sous-Interrogations Synchronisées Avec une sous-interrogation imbriquée normale, l'ordre SELECT interne est d'abord exécuté pour retourner des valeurs qui seront récupérées par la requête principale. Par contre, une Sous-Interrogation Synchronisée est exécutée une fois pour chaque ligne candidate prise en compte par la requête externe. Autrement dit, la requête interne est pilotée par la requête externe. Exécution d'une Sous-Interrogation Synchronisée 1. Récupérer une ligne candidate (extraite par la requête externe). 2. Exécuter la requête interne avec la valeur de la ligne candidate. 3. Utiliser la ou les valeurs résultant de la requête interne pour sélectionner ou ne pas sélectionner la ligne candidate. 4. Répéter ces étapes jusqu'à ce qu'il ne reste plus de lignes candidates. Même si cette description est centrée principalement sur les Sous-Interrogations Synchronisées des ordres SELECT, elle s'applique également aux ordres UPDATE et DELETE (voir chapitre concernant la Manipulation des Données).
  4. Sous-Interrogations Synchronisées (suite) Une Sous-Interrogation Synchronisée permet de "lire" chaque ligne d'une table et de comparer les valeurs de chaque ligne aux données associées. Elle est utilisée chaque fois qu'une sous-interrogation doit retourner un résultat ou un ensemble de résultats différent pour chaque ligne candidate prise en compte par la requête principale. Autrement dit, une Sous-Interrogation Synchronisée permet de répondre à une question à plusieurs choix, dont la réponse dépend de la valeur de chaque ligne traitée par l'ordre maître. Oracle exécute une Sous-Interrogation Synchronisée lorsque la sous-interrogation fait référence à une colonne d'une table de la requête principale.
  5. Utilisation de Sous-Interrogations Synchronisées Dans l'exemple ci-dessus, nous recherchons les employés dont le salaire est supérieur au salaire moyen de leur département. Dans ce cas, la Sous-Interrogation Synchronisée calcule explicitement le salaire moyen de chaque département. Comme les requêtes externe et interne utilisent toutes les deux la table EMP dans la clause FROM, un alias est attribué à chaque ordre SELECT pour plus de clarté. Grâce aux alias, les ordres SELECT deviennent plus lisibles et la requête s'exécute correctement, car elle peut distinguer la colonne de la table interne de celle de la table externe, ce qui ne serait pas possible sans les alias.
  6. L'Opérateur EXISTS Avec des ordres SELECT imbriqués, tous les opérateurs logiques sont valides. De plus, vous pouvez recourir à l'opérateur EXISTS. Cet opérateur est souvent utilisé dans les Sous-Interrogations Synchronisées, car il permet de tester s'il existe une valeur. Si la valeur existe, il retourne la valeur TRUE (vrai) ; sinon, il retourne la valeur FALSE (faux). De la même façon, l'opérateur NOT EXISTS garantit qu'il n'existe aucune valeur.
  7. Utilisation de l'Opérateur EXISTS Cet opérateur garantit que la recherche dans la requête interne ne se poursuivra pas s'il existe au moins une correspondance entre un responsable et des numéros d'employés.
  8. Utilisation de l'Opérateur EXISTS (suite) Notez que l'ordre interne SELECT ne doit pas retourner nécessairement une valeur spécifique, étant donné qu'aucun littéral ne peut être sélectionné. Pour des raisons de performances, il est plus rapide de sélectionner une constante qu'une colonne. Autre solution Comme le montre cet exemple, il est possible d'utiliser une structure NOT IN à la place de l'opérateur NOT EXISTS. Cependant, vous devez l'utiliser avec prudence, car elle retourne la valeur FALSE si un membre du groupe a une valeur NULL. Dans ce cas, votre requête ne ramènera aucune ligne. SQL> SELECT deptno, dname 2 FROM dept 3 WHERE deptno NOT IN (SELECT deptno 4 FROM emp);
  9. Même si cette description est centrée principalement sur les Sous-Interrogations Synchronisées des ordres SELECT, elle s'applique également aux ordres UPDATE et DELETE (voir chapitre concernant la Manipulation des Données).