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 d...
8-3 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Sous-Interrogations Multi-colonne
Requête principale
MANAG...
8-4 Copyright © Oracle Corporation, 1997. Tous droits réservés.
syntaxe
SELECT column, column, ….
FROM table
WHERE (column...
8-5 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Utilisation des Sous-
Interrogations Multi-colonne
Affiche...
8-6 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Comparaison de Colonnes
Par groupe de colonnes
SAL COMM
16...
8-7 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Sous-Interrogation avec
Comparaison Colonne par Colonne
SQ...
8-8 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Modification de la Table EMP
• Supposons que le salaire et...
8-9 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Comparaison par Groupe de
Colonne
SQL> SELECT ename, deptn...
8-10 Copyright © Oracle Corporation, 1997. Tous droits réservés.
SQL> SELECT ename,deptno, sal, comm
2 FROM emp
3 WHERE sa...
8-11 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Valeurs NULL dans une Sous-
Interrogation
SQL> SELECT emp...
8-12 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Utilisation d'une Sous-intérogation
dans la Clause FROM
S...
8-13 Copyright © Oracle Corporation, 1997. Tous droits réservés.
Résumé
• Une sous-interrogation multi-colonne
ramène plus...
Prochain SlideShare
Chargement dans…5
×

Sous-Interrogations Multi-colonne | SQL Oracle

1 058 vues

Publié le

Sous-Interrogations Multi-colonne | SQL Oracle. Telecharger cours dba oracle gratuit

Publié dans : Formation
  • Soyez le premier à commenter

Sous-Interrogations Multi-colonne | SQL Oracle

  1. 1. Copyright © Oracle Corporation, 1997. Tous droits réservés. 88 Sous-Interrogations Multi-colonne www.TelechargerCours.com
  2. 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. 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. 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. 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. 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. 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-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. 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. 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. 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. 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. 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

×