SlideShare une entreprise Scribd logo
1  sur  13
Copyright © Oracle Corporation, 1997. Tous droits réservés.
88
Sous-Interrogations Multi-colonne
www.TelechargerCours.com
8-2 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Objectifs
A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez :
• Ecrire une sous-interrogation multi-
colonne
• Décrire et expliquer le comportement
des sous-interrogations lorsqu'elles
trouvent des valeurs NULL
• Ecrire une sous-interrogation dans une
clause FROM
www.TelechargerCours.com
8-3 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Sous-Interrogations Multi-colonne
Requête principale
MANAGER 10
sous-interrogation
SALESMAN 30
MANAGER 10
CLERK 20
La requêteLa requête
principaleprincipale
comparecompare
MANAGER 10MANAGER 10
Valeurs d'une sous-interrogationValeurs d'une sous-interrogation
multi-ligne et multi-colonnemulti-ligne et multi-colonne
SALESMANSALESMAN 3030
MANAGERMANAGER 1010
CLERKCLERK 2020
auxaux
www.TelechargerCours.com
8-4 Copyright © Oracle Corporation, 1997. Tous droits réservés.
syntaxe
SELECT column, column, ….
FROM table
WHERE (column, column, ….) IN
(SELECT column, column, ….
FROM table
WHERE condition);
www.TelechargerCours.com
8-5 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Utilisation des Sous-
Interrogations Multi-colonne
Afficher le nom, le numéro de département, leAfficher le nom, le numéro de département, le
salaire et la commission de tout employé dont lesalaire et la commission de tout employé dont le
salaire et la commission correspondentsalaire et la commission correspondent à la foisà la fois
aux salaire et commission d'un des employé duaux salaire et commission d'un des employé du
département 30.département 30.
SQL> SELECT ename, deptno, sal, comm
FROM emp
WHERE (sal, NVL(comm,-1)) IN
(SELECT sal, NVL(comm,-1)
FROM emp
WHERE deptno = 30);
8-6 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Comparaison de Colonnes
Par groupe de colonnes
SAL COMM
1600 300
1250 500
1250 1400
2850
1500 0
950
Colonne par colonne
SAL COMM
1600 300
1250 500
1250 1400
2850
1500 0
950
www.TelechargerCours.com
8-7 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Sous-Interrogation avec
Comparaison Colonne par Colonne
SQL> SELECT ename, deptno, sal, comm
2 FROM emp
3 WHERE sal IN (SELECT sal
4 FROM emp
5 WHERE deptno = 30)
6 AND
7 NVL(comm,-1) IN (SELECT NVL(comm,-1)
8 FROM emp
9 WHERE deptno = 30);
Afficher le nom, le n° de département, le salaireAfficher le nom, le n° de département, le salaire
et la commission de tout employé dont leet la commission de tout employé dont le
salaire et la commission correspondent ausalaire et la commission correspondent au
salaire et à la commission d'un des employéssalaire et à la commission d'un des employés
du département 30.du département 30.
8-8 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Modification de la Table EMP
• Supposons que le salaire et la commission de
l'employé Clark soient modifiés.
• Le salaire passe à $1500 et la commission à
$300.
ENAME SAL COMM
---------- --------- ---------
...
CLARK 1500 300
...
ALLEN 1600 300
TURNER 1500 0
...
14 rows selected.
www.TelechargerCours.com
8-9 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Comparaison par Groupe de
Colonne
SQL> SELECT ename, deptno, sal, comm
2 FROM emp
3 WHERE (sal, NVL(comm,-1)) IN
4 (SELECT sal, NVL(comm,-1)
5 FROM emp
6 WHERE deptno = 30);
ENAME DEPTNO SAL COMM
---------- --------- --------- ---------
JAMES 30 950
WARD 30 1250 500
MARTIN 30 1250 1400
TURNER 30 1500 0
ALLEN 30 1600 300
BLAKE 30 2850
6 rows selected.
ENAME DEPTNO SAL COMM
---------- --------- --------- ---------
JAMES 30 950
WARD 30 1250 500
MARTIN 30 1250 1400
TURNER 30 1500 0
ALLEN 30 1600 300
BLAKE 30 2850
6 rows selected.
8-10 Copyright © Oracle Corporation, 1997. Tous droits réservés.
SQL> SELECT ename,deptno, sal, comm
2 FROM emp
3 WHERE sal IN (SELECT sal
4 FROM emp
5 WHERE deptno = 30)
6 AND
7 NVL(comm,-1) IN (SELECT NVL(comm,-1)
8 FROM emp
9 WHERE deptno = 30);
Comparaison Colonne par
Colonne
ENAME DEPTNO SAL COMM
---------- --------- --------- ---------
JAMES 30 950
BLAKE 30 2850
TURNER 30 1500 0
CLARK 10 1500 300
...
7 rows selected.
8-11 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Valeurs NULL dans une Sous-
Interrogation
SQL> SELECT employee.ename
2 FROM emp employee
3 WHERE employee.empno NOT IN
(SELECT manager.mgr
FROM emp manager);
no rows selected.no rows selected.
www.TelechargerCours.com
8-12 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Utilisation d'une Sous-intérogation
dans la Clause FROM
SQL> SELECT a.ename, a.sal, a.deptno, b.salavg
2 FROM emp a, (SELECT deptno, avg(sal) salavg
3 FROM emp
4 GROUP BY deptno) b
5 WHERE a.deptno = b.deptno
6 AND a.sal > b.salavg;
8-13 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Résumé
• Une sous-interrogation multi-colonne
ramène plus d'une colonne.
• Dans une sous-interrogation multi-
colonne, les comparaisons de colonnes
peuvent être effectuées par groupe de
colonne ou colonne par colonne.
• Une sous-interrogation multi-colonne
peut également s'utiliser dans la clause
FROM d'un ordre SELECT.
www.TelechargerCours.com

Contenu connexe

Tendances

Examen sybase - Administration base de donnees
Examen sybase - Administration base de donneesExamen sybase - Administration base de donnees
Examen sybase - Administration base de donneeswebreaker
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oraclewebreaker
 
Correction de td poo n2
Correction de td poo n2Correction de td poo n2
Correction de td poo n2yassine kchiri
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
PL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de donnéesPL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de donnéessmiste
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatMohamed Ben Bouzid
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Ahmed Slim
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaMariem ZAOUALI
 

Tendances (20)

Examen sybase - Administration base de donnees
Examen sybase - Administration base de donneesExamen sybase - Administration base de donnees
Examen sybase - Administration base de donnees
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oracle
 
Correction de td poo n2
Correction de td poo n2Correction de td poo n2
Correction de td poo n2
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
PL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de donnéesPL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de données
 
cours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhouminecours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhoumine
 
Introduction à pl/sql
Introduction à pl/sqlIntroduction à pl/sql
Introduction à pl/sql
 
HTML, CSS et Javascript
HTML, CSS et JavascriptHTML, CSS et Javascript
HTML, CSS et Javascript
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Sql3
Sql3Sql3
Sql3
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corba
 
TP 3 ACCESS
TP 3 ACCESSTP 3 ACCESS
TP 3 ACCESS
 

En vedette

Les ActivitéS
Les ActivitéSLes ActivitéS
Les ActivitéSMadameChan
 
Extraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracleExtraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oraclewebreaker
 
Quest Ce Que Tu Aimes Faire Lesson 1
Quest Ce Que Tu Aimes Faire   Lesson 1Quest Ce Que Tu Aimes Faire   Lesson 1
Quest Ce Que Tu Aimes Faire Lesson 1PGCEMaster
 
Les Sports et Les Activités
Les Sports et Les ActivitésLes Sports et Les Activités
Les Sports et Les ActivitésSarah Labins
 
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
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oraclewebreaker
 
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL OracleAfficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL Oraclewebreaker
 
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
 
Fonctions Mono-Ligne
Fonctions Mono-LigneFonctions Mono-Ligne
Fonctions Mono-Lignewebreaker
 
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°
 
La routine - Habitudes et tâches du quotidien
La routine - Habitudes et tâches du quotidienLa routine - Habitudes et tâches du quotidien
La routine - Habitudes et tâches du quotidienDiana Magalhães
 
Une introduction au e-commerce (ICHEC 2012)
Une introduction au e-commerce (ICHEC 2012)Une introduction au e-commerce (ICHEC 2012)
Une introduction au e-commerce (ICHEC 2012)David Hachez
 
La Gestion de Projet Mobile
La Gestion de Projet MobileLa Gestion de Projet Mobile
La Gestion de Projet MobileSebastien Brison
 

En vedette (19)

Les ActivitéS
Les ActivitéSLes ActivitéS
Les ActivitéS
 
Extraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracleExtraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracle
 
Quest Ce Que Tu Aimes Faire Lesson 1
Quest Ce Que Tu Aimes Faire   Lesson 1Quest Ce Que Tu Aimes Faire   Lesson 1
Quest Ce Que Tu Aimes Faire Lesson 1
 
Les Sports et Les Activités
Les Sports et Les ActivitésLes Sports et Les Activités
Les Sports et Les Activités
 
Faire et jouer
Faire et jouerFaire et jouer
Faire et jouer
 
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
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oracle
 
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL OracleAfficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
 
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
 
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
 
Fonctions Mono-Ligne
Fonctions Mono-LigneFonctions Mono-Ligne
Fonctions Mono-Ligne
 
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...
 
La routine - Habitudes et tâches du quotidien
La routine - Habitudes et tâches du quotidienLa routine - Habitudes et tâches du quotidien
La routine - Habitudes et tâches du quotidien
 
Une introduction au e-commerce (ICHEC 2012)
Une introduction au e-commerce (ICHEC 2012)Une introduction au e-commerce (ICHEC 2012)
Une introduction au e-commerce (ICHEC 2012)
 
La Gestion de Projet Mobile
La Gestion de Projet MobileLa Gestion de Projet Mobile
La Gestion de Projet Mobile
 

Similaire à Sous-Interrogations Multi-colonne | SQL Oracle

01 l'ordre select élémentaire
01 l'ordre select élémentaire 01 l'ordre select élémentaire
01 l'ordre select élémentaire ENSAM Casablanca
 
Le langage plsql
Le langage plsqlLe langage plsql
Le langage plsqlkati_f87
 
Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oraclewebreaker
 
Plsql
PlsqlPlsql
PlsqlAz Za
 
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdfImaneZoubir1
 
Rapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizRapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizbabaoui mohamed
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlpluswebreaker
 
chapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdfchapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdfattamatta1234
 

Similaire à Sous-Interrogations Multi-colonne | SQL Oracle (14)

01 l'ordre select élémentaire
01 l'ordre select élémentaire 01 l'ordre select élémentaire
01 l'ordre select élémentaire
 
Les03.ppt
Les03.pptLes03.ppt
Les03.ppt
 
12 fr
12 fr12 fr
12 fr
 
Le langage plsql
Le langage plsqlLe langage plsql
Le langage plsql
 
Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oracle
 
Plsql
PlsqlPlsql
Plsql
 
Les06.ppt
Les06.pptLes06.ppt
Les06.ppt
 
Les07.ppt
Les07.pptLes07.ppt
Les07.ppt
 
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
 
Rapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizRapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakiz
 
Functions
FunctionsFunctions
Functions
 
Plsql
PlsqlPlsql
Plsql
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
 
chapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdfchapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdf
 

Plus de webreaker

Examne sybase corrige
Examne sybase corrigeExamne sybase corrige
Examne sybase corrigewebreaker
 
Introduction aux techniques de déduplication
Introduction aux techniques de déduplicationIntroduction aux techniques de déduplication
Introduction aux techniques de déduplicationwebreaker
 
Telecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfTelecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfwebreaker
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unixwebreaker
 
Administration systeme UNIX
Administration systeme UNIXAdministration systeme UNIX
Administration systeme UNIXwebreaker
 
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
Telecharger Cours Systèmes d’exploitation windows: Administration  WindowsTelecharger Cours Systèmes d’exploitation windows: Administration  Windows
Telecharger Cours Systèmes d’exploitation windows: Administration Windowswebreaker
 

Plus de webreaker (6)

Examne sybase corrige
Examne sybase corrigeExamne sybase corrige
Examne sybase corrige
 
Introduction aux techniques de déduplication
Introduction aux techniques de déduplicationIntroduction aux techniques de déduplication
Introduction aux techniques de déduplication
 
Telecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfTelecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdf
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
 
Administration systeme UNIX
Administration systeme UNIXAdministration systeme UNIX
Administration systeme UNIX
 
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
Telecharger Cours Systèmes d’exploitation windows: Administration  WindowsTelecharger Cours Systèmes d’exploitation windows: Administration  Windows
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
 

Dernier

Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 

Dernier (20)

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
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 

Sous-Interrogations Multi-colonne | SQL Oracle

  • 1. Copyright © Oracle Corporation, 1997. Tous droits réservés. 88 Sous-Interrogations Multi-colonne www.TelechargerCours.com
  • 2. 8-2 Copyright © Oracle Corporation, 1997. Tous droits réservés. Objectifs A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez : • Ecrire une sous-interrogation multi- colonne • Décrire et expliquer le comportement des sous-interrogations lorsqu'elles trouvent des valeurs NULL • Ecrire une sous-interrogation dans une clause FROM www.TelechargerCours.com
  • 3. 8-3 Copyright © Oracle Corporation, 1997. Tous droits réservés. Sous-Interrogations Multi-colonne Requête principale MANAGER 10 sous-interrogation SALESMAN 30 MANAGER 10 CLERK 20 La requêteLa requête principaleprincipale comparecompare MANAGER 10MANAGER 10 Valeurs d'une sous-interrogationValeurs d'une sous-interrogation multi-ligne et multi-colonnemulti-ligne et multi-colonne SALESMANSALESMAN 3030 MANAGERMANAGER 1010 CLERKCLERK 2020 auxaux www.TelechargerCours.com
  • 4. 8-4 Copyright © Oracle Corporation, 1997. Tous droits réservés. syntaxe SELECT column, column, …. FROM table WHERE (column, column, ….) IN (SELECT column, column, …. FROM table WHERE condition); www.TelechargerCours.com
  • 5. 8-5 Copyright © Oracle Corporation, 1997. Tous droits réservés. Utilisation des Sous- Interrogations Multi-colonne Afficher le nom, le numéro de département, leAfficher le nom, le numéro de département, le salaire et la commission de tout employé dont lesalaire et la commission de tout employé dont le salaire et la commission correspondentsalaire et la commission correspondent à la foisà la fois aux salaire et commission d'un des employé duaux salaire et commission d'un des employé du département 30.département 30. SQL> SELECT ename, deptno, sal, comm FROM emp WHERE (sal, NVL(comm,-1)) IN (SELECT sal, NVL(comm,-1) FROM emp WHERE deptno = 30);
  • 6. 8-6 Copyright © Oracle Corporation, 1997. Tous droits réservés. Comparaison de Colonnes Par groupe de colonnes SAL COMM 1600 300 1250 500 1250 1400 2850 1500 0 950 Colonne par colonne SAL COMM 1600 300 1250 500 1250 1400 2850 1500 0 950 www.TelechargerCours.com
  • 7. 8-7 Copyright © Oracle Corporation, 1997. Tous droits réservés. Sous-Interrogation avec Comparaison Colonne par Colonne SQL> SELECT ename, deptno, sal, comm 2 FROM emp 3 WHERE sal IN (SELECT sal 4 FROM emp 5 WHERE deptno = 30) 6 AND 7 NVL(comm,-1) IN (SELECT NVL(comm,-1) 8 FROM emp 9 WHERE deptno = 30); Afficher le nom, le n° de département, le salaireAfficher le nom, le n° de département, le salaire et la commission de tout employé dont leet la commission de tout employé dont le salaire et la commission correspondent ausalaire et la commission correspondent au salaire et à la commission d'un des employéssalaire et à la commission d'un des employés du département 30.du département 30.
  • 8. 8-8 Copyright © Oracle Corporation, 1997. Tous droits réservés. Modification de la Table EMP • Supposons que le salaire et la commission de l'employé Clark soient modifiés. • Le salaire passe à $1500 et la commission à $300. ENAME SAL COMM ---------- --------- --------- ... CLARK 1500 300 ... ALLEN 1600 300 TURNER 1500 0 ... 14 rows selected. www.TelechargerCours.com
  • 9. 8-9 Copyright © Oracle Corporation, 1997. Tous droits réservés. Comparaison par Groupe de Colonne SQL> SELECT ename, deptno, sal, comm 2 FROM emp 3 WHERE (sal, NVL(comm,-1)) IN 4 (SELECT sal, NVL(comm,-1) 5 FROM emp 6 WHERE deptno = 30); ENAME DEPTNO SAL COMM ---------- --------- --------- --------- JAMES 30 950 WARD 30 1250 500 MARTIN 30 1250 1400 TURNER 30 1500 0 ALLEN 30 1600 300 BLAKE 30 2850 6 rows selected. ENAME DEPTNO SAL COMM ---------- --------- --------- --------- JAMES 30 950 WARD 30 1250 500 MARTIN 30 1250 1400 TURNER 30 1500 0 ALLEN 30 1600 300 BLAKE 30 2850 6 rows selected.
  • 10. 8-10 Copyright © Oracle Corporation, 1997. Tous droits réservés. SQL> SELECT ename,deptno, sal, comm 2 FROM emp 3 WHERE sal IN (SELECT sal 4 FROM emp 5 WHERE deptno = 30) 6 AND 7 NVL(comm,-1) IN (SELECT NVL(comm,-1) 8 FROM emp 9 WHERE deptno = 30); Comparaison Colonne par Colonne ENAME DEPTNO SAL COMM ---------- --------- --------- --------- JAMES 30 950 BLAKE 30 2850 TURNER 30 1500 0 CLARK 10 1500 300 ... 7 rows selected.
  • 11. 8-11 Copyright © Oracle Corporation, 1997. Tous droits réservés. Valeurs NULL dans une Sous- Interrogation SQL> SELECT employee.ename 2 FROM emp employee 3 WHERE employee.empno NOT IN (SELECT manager.mgr FROM emp manager); no rows selected.no rows selected. www.TelechargerCours.com
  • 12. 8-12 Copyright © Oracle Corporation, 1997. Tous droits réservés. Utilisation d'une Sous-intérogation dans la Clause FROM SQL> SELECT a.ename, a.sal, a.deptno, b.salavg 2 FROM emp a, (SELECT deptno, avg(sal) salavg 3 FROM emp 4 GROUP BY deptno) b 5 WHERE a.deptno = b.deptno 6 AND a.sal > b.salavg;
  • 13. 8-13 Copyright © Oracle Corporation, 1997. Tous droits réservés. Résumé • Une sous-interrogation multi-colonne ramène plus d'une colonne. • Dans une sous-interrogation multi- colonne, les comparaisons de colonnes peuvent être effectuées par groupe de colonne ou colonne par colonne. • Une sous-interrogation multi-colonne peut également s'utiliser dans la clause FROM d'un ordre SELECT. www.TelechargerCours.com

Notes de l'éditeur

  1. Objectifs Au cours de ce chapitre, vous allez apprendre à écrire des sous-interrogations multi-colonne et des sous-interrogations dans la clause FROM d'un ordre SELECT.
  2. Sous-Interrogations Multi-colonne Jusqu'à maintenant, vous avez écrit des sous-interrogations mono-ligne et multi-ligne dans lesquelles une seule colonne était comparée via la clause WHERE ou HAVING de l'ordre SELECT principal. Si vous voulez comparer plusieurs colonnes, vous devez écrire une clause WHERE composée utilisant des opérateurs logiques. Les sous-interrogations multi-colonne vous permettent de combiner plusieurs conditions WHERE dans une même clause WHERE. Syntaxe SELECT column, column , ... FROM table WHERE ( column, column , ...) IN (SELECT column, column , ... FROM table WHERE condition );
  3. Utilisation des Sous-Interrogations Multi-colonne La sous-interrogation ci-dessus, qui ramène plusieurs colonnes, est un exemple de sous-interrogation multi-colonne. Elle compare la colonne SAL et la colonne COMM. Elle affiche le nom, le numéro de département, le salaire et la commission de tout employé dont le salaire et la commission correspondent à la fois aux salaire et commission d'un des employés du département 30. L'ordre SQL ci-dessus donnera les résultats suivants : ENAME DEPTNO SAL COMM ---------- --------- --------- --------- JAMES 30 950 WARD 30 1250 500 MARTIN 30 1250 1400 TURNER 30 1500 0 ALLEN 30 1600 300 BLAKE 30 2850 6 rows selected.
  4. Utilisation des Sous-Interrogations Multi-colonne La sous-interrogation ci-dessus, qui ramène plusieurs colonnes, est un exemple de sous-interrogation multi-colonne. Elle compare la colonne SAL et la colonne COMM. Elle affiche le nom, le numéro de département, le salaire et la commission de tout employé dont le salaire et la commission correspondent à la fois aux salaire et commission d'un des employés du département 30. L'ordre SQL ci-dessus donnera les résultats suivants : ENAME DEPTNO SAL COMM ---------- --------- --------- --------- JAMES 30 950 WARD 30 1250 500 MARTIN 30 1250 1400 TURNER 30 1500 0 ALLEN 30 1600 300 BLAKE 30 2850 6 rows selected.
  5. Comparaisons " par Groupe de Colonnes" versus "Colonne par Colone" Dans une sous-interrogation multi-colonne, les comparaisons peuvent être effectuées "par groupe de colonnes" ou "colonne par colonne". Dans l'exemple de la diapositive précédente, la comparaison exécutée dans la clause WHERE est faite par groupe de colonnes: chaque ligne rapportée par l'ordre SELECT doit comporter à la fois le même salaire et la même commission qu'un employé du département 30. Pour effectuer une comparaison par groupe de colonnes, utilisez une clause WHERE avec seule condition faisant intervenir les différentes colonnes. Pour effectuer une comparaison colonne par colonne (produit cartésien), utilisez une clause WHERE avec de multiples conditions, chaque condition faisant intervenir une colonne.
  6. Sous-Interrogation Effectuant une Comparaison Colonne par Colonne L'exemple ci-dessus effectue une comparaison colonne par colonne. Il affiche le nom, le numéro de département, le salaire et la commission de tout employé dont le salaire et la commission correspondent au salaire et à la commission d'un employé du département 30. L'ordre SQL ci-dessus donnera le résultat suivant : Le résultat des deux dernières requêtes est identique bien que les conditions de comparaison diffèrent. Cela s'explique par la nature des données présentes dans la table EMP. ENAME DEPTNO SAL COMM ---------- --------- --------- --------- JAMES 30 950 BLAKE 30 2850 TURNER 30 1500 0 ALLEN 30 1600 300 WARD 30 1250 500 MARTIN 30 1250 1400 6 rows selected.
  7. Exemple Supposons que le salaire et la commission de l'employé Clark soient modifiés de telle sorte qu'il ait le même salaire qu'un employé du département 30 et la même commission qu'un autre employé du département 30. Le salaire de Clark est désormais égal à celui de Turner ($1500) et sa commission est la même que celle d'Allen ($300). Nous allons maintenant exécuter une comparaison par groupe de colonnes puis colonne par colonne pour voir combien de lignes sont ramenées dans chaque cas. Remarque : la syntaxe à utiliser pour mettre à jour les données d'une table sera traitée au cours du chapitre 9.
  8. Sous-Interrogation avec Comparaison par Groupe de Colonnes Les résultats de la sous-interrogation avec comparaison par groupe de colonnes ne changent pas et ramènent toujours six lignes.
  9. Sous-Interrogation avec Comparaison Colonne par Colonne Le résultat de la sous-interrogation avec comparaison colonne par colonne inclut l'employé Clark puisque maintenant, son salaire est le même que celui de Turner et sa commission identique à celle d'Allen.
  10. Présence d'une Valeur NULL dans les Résultats d'une Sous-Interrogation L'ordre SQL ci-dessus tente d'afficher tous les employés n'ayant pas de subordonné. L'ordre SQL ne ramène aucune ligne alors que logiquement, il aurait dû en renvoyer huit. En fait, l'une des valeurs ramenées par la sous-interrogation étant une valeur NULL, la requête principale ne renvoie aucune ligne. En effet, quand dans une interrogation, on utilise un opérateur de comparaison (=,>, <,...) pour comparer une valeur à NULL, cette interrogation retourne zéro ligne. NULL ne peut être testé qu'avec les opérateurs IS NULL et IS NOT NULL. C'est pourquoi, chaque fois que les résultats d'une sous-interrogation risquent de contenir des valeurs NULL, vous ne devez pas utiliser l'opérateur NOT IN. L'opérateur NOT IN est l'équivalent de !=ALL. En revanche, la présence d'une valeur NULL dans le résultat d'une sous-interrogation ne posera pas de problème si vous utilisez l'opérateur IN. Celui-ci est l'équivalent de =ANY. Par exemple, pour afficher les employés qui ont des subordonnés, utilisez l'ordre SQL suivant : SQL> SELECT employee.ename 2 FROM emp employee 3 WHERE employee.empno IN (SELECT manager.mgr 4 FROM emp manager); ENAME ---------- KING … 6 rows selected.
  11. Utilisation d'une Sous-Interrogation dans la Clause FROM Vous pouvez utiliser une sous-interrogation dans la clause FROM d'un ordre SELECT. Cette méthode présente de nombreuses similitudes avec le mode d'utilisation des vues. L'exemple ci-dessus affiche le nom, le salaire, le numéro de département et le salaire moyen du département pour tous les employés gagnant plus que le salaire moyen de leur département.