Afficher des Donn©es Issues de Plusieurs Tables : SQL Oracle

  • View
    788

  • Download
    8

Embed Size (px)

DESCRIPTION

Afficher des Données Issues de Plusieurs Tables : SQL Oracle. telecharger cours oracle

Text of Afficher des Donn©es Issues de Plusieurs Tables : SQL Oracle

  • Copyright Oracle Corporation, 1998. Tous droits rservs.

    44Afficher des Donnes

    Issues de Plusieurs Tables

    www.TelechargerCours.com

  • 4-2 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Objectifs

    A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez : Ecrire des ordres SELECT pour accder

    aux donnes de plusieurs tables en utilisant des quijointures et des non-quijointures

    Visualiser des donnes ne rpondant pas aux conditions de jointure, en utilisant les jointures externes

    Relier une table elle-mme

    www.TelechargerCours.com

  • 4-3 Copyright Oracle Corporation, 1998. Tous droits rservs.

    EMPNO DEPTNO LOC----- ------- -------- 7839 10 NEW YORK 7698 30 CHICAGO 7782 10 NEW YORK 7566 20 DALLAS 7654 30 CHICAGO 7499 30 CHICAGO...14 rows selected.

    EMPNO DEPTNO LOC----- ------- -------- 7839 10 NEW YORK 7698 30 CHICAGO 7782 10 NEW YORK 7566 20 DALLAS 7654 30 CHICAGO 7499 30 CHICAGO...14 rows selected.

    Afficher des Donnes Issues de Plusieurs Tables

    EMP EMP DEPT DEPT EMPNO ENAME ... DEPTNO------ ----- ... ------ 7839 KING ... 10 7698 BLAKE ... 30 ... 7934 MILLER ... 10

    DEPTNO DNAME LOC ------ ---------- -------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON

  • 4-4 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Qu'est-ce qu'une Jointure ?Une jointure sert extraire des donnes de Une jointure sert extraire des donnes de plusieurs tables.plusieurs tables.

    Ecrivez la condition de jointure dans la clause WHERE.

    Placez le nom de la table avant le nom de la colonne lorsque celui-ci figure dans plusieurs tables.

    SELECT table1.column, table2.columnFROM table1, table2WHERE table1.column1 = table2.column2;

    SELECT table1.column, table2.columnFROM table1, table2WHERE table1.column1 = table2.column2;

  • 4-5 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Produit Cartsien On obtient un produit cartsien lorsque :

    Une condition de jointure est omise Une condition de jointure est incorrecte

    Toutes les lignes de la premire table sont jointes toutes les lignes de la seconde

    Pour viter un produit cartsien, toujours insrer une condition de jointure correcte dans la clause WHERE.

    www.TelechargerCours.com

  • 4-6 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Gnration d'un Produit Cartsien

    ENAME DNAME------ ----------KING ACCOUNTINGBLAKE ACCOUNTING ...KING RESEARCHBLAKE RESEARCH...56 rows selected.

    ENAME DNAME------ ----------KING ACCOUNTINGBLAKE ACCOUNTING ...KING RESEARCHBLAKE RESEARCH...56 rows selected.

    EMP (14 lignes) EMP (14 lignes) DEPT (4 lignes) DEPT (4 lignes) EMPNO ENAME ... DEPTNO------ ----- ... ------ 7839 KING ... 10 7698 BLAKE ... 30 ... 7934 MILLER ... 10

    EMPNO ENAME ... DEPTNO------ ----- ... ------ 7839 KING ... 10 7698 BLAKE ... 30 ... 7934 MILLER ... 10

    DEPTNO DNAME LOC ------ ---------- -------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON

    DEPTNO DNAME LOC ------ ---------- -------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON

    "Produit "Produit cartsien : cartsien :

    14*4=56 lignes"14*4=56 lignes"

  • 4-7 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Types de Jointures

    Equijointure Non-quijointure

    Jointure externe Autojointure

    www.TelechargerCours.com

  • 4-8 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Qu'est-ce qu'une Equijointure ?EMP EMP DEPT DEPT EMPNO ENAME DEPTNO------ ------- ------- 7839 KING 10 7698 BLAKE 30 7782 CLARK 10 7566 JONES 20 7654 MARTIN 30 7499 ALLEN 30 7844 TURNER 30 7900 JAMES 30 7521 WARD 30 7902 FORD 20 7369 SMITH 20...14 rows selected.

    DEPTNO DNAME LOC ------- ---------- -------- 10 ACCOUNTING NEW YORK 30 SALES CHICAGO 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 20 RESEARCH DALLAS 20 RESEARCH DALLAS...14 rows selected.

    Cl trangreCl trangre Cl primaireCl primaire

    www.TelechargerCours.com

  • 4-9 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Extraction d'Enregistrements avec les Equijointures

    SQL> SELECT emp.empno, emp.ename, emp.deptno, 2 dept.deptno, dept.loc 3 FROM emp, dept 4 WHERE emp.deptno=dept.deptno;

    EMPNO ENAME DEPTNO DEPTNO LOC----- ------ ------ ------ --------- 7839 KING 10 10 NEW YORK 7698 BLAKE 30 30 CHICAGO 7782 CLARK 10 10 NEW YORK 7566 JONES 20 20 DALLAS...14 rows selected.

    www.TelechargerCours.com

  • 4-10 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Diffrencier les Noms de Colonne Ambigus

    Prfixer avec le nom de la table pour diffrencier les noms de colonnes appartenant plusieurs tables.

    Ces prfixes de table amliorent les performances.

    Diffrencier des colonnes de mme nom appartenant plusieurs tables en utilisant des alias de colonne.

    www.TelechargerCours.com

  • 4-11 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Ajout de Conditions de Recherche avec l'Oprateur AND

    EMP EMP DEPT DEPT EMPNO ENAME DEPTNO------ ------- ------- 7839 KING 10 7698 BLAKE 30 7782 CLARK 10 7566 JONES 20 7654 MARTIN 30 7499 ALLEN 30 7844 TURNER 30 7900 JAMES 30 7521 WARD 30 7902 FORD 20 7369 SMITH 20...14 rows selected.

    DEPTNO DNAME LOC ------ --------- -------- 10 ACCOUNTING NEW YORK 30 SALES CHICAGO 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 30 SALES CHICAGO 20 RESEARCH DALLAS 20 RESEARCH DALLAS...14 rows selected.

  • 4-12 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Utilisation d'Alias de TableSimplifiez les requtes avec les aliasSimplifiez les requtes avec les alias de table.de table.SQL> SELECT emp.empno, emp.ename, emp.deptno, 2 dept.deptno, dept.loc 3 FROM emp, dept 4 WHERE emp.deptno=dept.deptno;

    SQL> SELECT e.empno, e.ename, e.deptno, 2 d.deptno, d.loc 3 FROM emp e, dept d 4 WHERE e.deptno=d.deptno;

  • 4-13 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Jointures de Plus de Deux Tables

    NAME CUSTID----------- ------JOCKSPORTS 100TKB SPORT SHOP 101VOLLYRITE 102JUST TENNIS 103K+T SPORTS 105SHAPE UP 106WOMENS SPORTS 107... ...9 rows selected.

    NAME CUSTID----------- ------JOCKSPORTS 100TKB SPORT SHOP 101VOLLYRITE 102JUST TENNIS 103K+T SPORTS 105SHAPE UP 106WOMENS SPORTS 107... ...9 rows selected.

    CUSTOMER CUSTOMER CUSTID ORDID------- ------- 101 610 102 611 104 612 106 601 102 602 106 604 106 605... 21 rows selected.

    CUSTID ORDID------- ------- 101 610 102 611 104 612 106 601 102 602 106 604 106 605... 21 rows selected.

    ORD ORD

    ORDID ITEMID------ ------- 610 3 611 1 612 1 601 1 602 1...64 rows selected.

    ORDID ITEMID------ ------- 610 3 611 1 612 1 601 1 602 1...64 rows selected.

    ITEM ITEM

    www.TelechargerCours.com

  • 4-14 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Non-EquijointuresEMPEMP SALGRADESALGRADE

    "Les salaires (SAL) de la table "Les salaires (SAL) de la table EMP sont compris entre le EMP sont compris entre le salaire minimum (LOSAL) et le salaire minimum (LOSAL) et le salaire maximum (HISAL) de la salaire maximum (HISAL) de la table SALGRADE"table SALGRADE"

    EMPNO ENAME SAL------ ------- ------ 7839 KING 5000 7698 BLAKE 2850 7782 CLARK 2450 7566 JONES 2975 7654 MARTIN 1250 7499 ALLEN 1600 7844 TURNER 1500 7900 JAMES 950...14 rows selected.

    GRADE LOSAL HISAL----- ----- ------1 700 12002 1201 14003 1401 20004 2001 30005 3001 9999

    www.TelechargerCours.com

  • 4-15 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Extraction d'Enregistrements avec les Non-Equijointures

    ENAME SAL GRADE---------- --------- ---------JAMES 950 1SMITH 800 1ADAMS 1100 1...14 rows selected.

    SQL> SELECT e.ename, e.sal, s.grade 2 FROM emp e, salgrade s 3 WHERE e.sal 4 BETWEEN s.losal AND s.hisal;

    www.TelechargerCours.com

  • 4-16 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Jointures ExternesEMP EMP DEPT DEPT

    Pas d'employs dans le Pas d'employs dans le dpartement OPERATIONSdpartement OPERATIONS

    ENAME DEPTNO----- ------KING 10BLAKE 30CLARK 10JONES 20...

    DEPTNO DNAME------ ----------10 ACCOUNTING30 SALES10 ACCOUNTING20 RESEARCH...40 OPERATIONS

    www.TelechargerCours.com

  • 4-17 Copyright Oracle Corporation, 1998. Tous droits rservs.

    Jointures Externes

    Les jointures externes permettent de visualiser des lignes qui ne rpondent pas la condition de jointure.

    L'oprateur de jointure externe est le signe (+).SELECT table.column, table.columnFROM table1, table2WHERE table1.colum

View more >