SlideShare a Scribd company logo
Displaying Data from Multiple Tables
ObjectivesAfter completing this lesson, you should be able to do the following:Write SELECT statements to access data from more than one table using equality and nonequality joinsView data that generally does not meet a join condition by using outer joinsJoin a table to itself
Obtaining Data from Multiple TablesEMP DEPT  EMPNOENAME	...	DEPTNO------	-----	...	------7839KING	...	    107698BLAKE	...	    30   ...	7934MILLER	...	    10DEPTNO DNAME     LOC     ------ ----------	--------10ACCOUNTINGNEW YORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTONEMPNO DEPTNO LOC----- ------- -------- 783910 NEW YORK769830 CHICAGO778210 NEW YORK756620 DALLAS765430 CHICAGO749930 CHICAGO...14 rows selected.
What Is a Join?Use a join to query data from more than one table.Write the join condition in the WHERE clause.Prefix the column name with the table name when the same column name appears in more than one table.SELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column1= table2.column2;
Cartesian ProductA Cartesian product is formed when:A join condition is omittedA join condition is invalidAll rows in the first table are joined to all rows in the second tableTo avoid a Cartesian product, always include a valid join condition in a WHERE clause.
Generating a Cartesian Product“Cartesianproduct: 14*4=56 rows”EMP (14 rows) DEPT (4 rows)  EMPNOENAME	...	DEPTNO------	-----	...	------7839KING	...	    107698BLAKE	...	    30   ...	7934MILLER	...	    10DEPTNO DNAME     LOC     ------ ----------	--------10ACCOUNTINGNEW YORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTONENAME    DNAME------ 	----------KINGACCOUNTINGBLAKEACCOUNTING ...KINGRESEARCHBLAKERESEARCH...56 rows selected.
Types of JoinsEquijoinNon-equijoinOuter joinSelf join
What Is an Equijoin?Foreign keyPrimary keyEMP DEPT  EMPNO ENAME    DEPTNO------ ------- -------7839 KING         107698 BLAKE        307782 CLARK        107566 JONES        207654 MARTIN       307499 ALLEN        307844 TURNER       307900 JAMES        307521 WARD         307902 FORD         207369 SMITH        20...14 rows selected. DEPTNO DNAME      LOC     ------- ---------- --------10 ACCOUNTING NEW YORK30 SALESCHICAGO10 ACCOUNTINGNEW YORK 20 RESEARCHDALLAS30 SALESCHICAGO30 SALESCHICAGO30 SALESCHICAGO30 SALESCHICAGO30 SALESCHICAGO20 RESEARCHDALLAS20 RESEARCHDALLAS...14 rows selected.
Retrieving Records with EquijoinsSQL> SELECT emp.empno, emp.ename, emp.deptno,2dept.deptno, dept.loc3  FROM   emp, dept4  WHERE  emp.deptno=dept.deptno;EMPNO ENAME DEPTNO DEPTNO LOC----- ------ ------ ------ ---------7839 KING1010 NEW YORK7698 BLAKE  3030 CHICAGO7782 CLARK1010 NEW YORK7566 JONES      2020 DALLAS...14 rows selected.
Qualifying Ambiguous Column NamesUse table prefixes to qualify column names that are in multiple tables.Improve performance by using table prefixes.Distinguish columns that have identical names but reside in different tables by using column aliases.
Additional Search ConditionsUsing the AND Operator EMP DEPT  EMPNO ENAME    DEPTNO------ ------- -------7839 KING         107698 BLAKE        307782 CLARK        107566 JONES        207654 MARTIN       307499 ALLEN        307844 TURNER       307900 JAMES        307521 WARD         307902 FORD         207369 SMITH        20...14 rows selected.DEPTNO DNAME     LOC     ------ ---------	--------10 ACCOUNTINGNEW YORK30SALES    CHICAGO10 ACCOUNTINGNEW YORK 20 RESEARCHDALLAS30 SALES    CHICAGO30 SALES    CHICAGO30 SALES    CHICAGO30 SALES    CHICAGO30 SALES    CHICAGO20 RESEARCHDALLAS20 RESEARCHDALLAS...14 rows selected.
Using Table AliasesSimplify queries by using table aliases.SQL> SELECT emp.empno, emp.ename, emp.deptno,  2   dept.deptno, dept.loc3  FROM   emp, dept4  WHERE  emp.deptno=dept.deptno;SQL> SELECT e.empno, e.ename, e.deptno,   2         d.deptno, d.loc3  FROM   emp e, dept d4  WHERE  e.deptno=d.deptno;
Joining More Than Two TablesORD  CUSTID   ORDID------- -------101610102611104612106601102602106604106605... 21 rows selected.ITEM  ORDID  ITEMID------ -------61036111612160116021...64 rows selected.     CUSTOMER NAMECUSTID-----------	------JOCKSPORTS100TKB SPORT SHOP101VOLLYRITE102JUST TENNIS103K+T SPORTS105SHAPE UP106WOMENS SPORTS     107...	...9 rows selected.
Non-Equijoins“salary in the EMP table is between low salary and high salary in the SALGRADEtable”EMPSALGRADE EMPNO ENAME      SAL------ ------- ------7839 KING      50007698 BLAKE     28507782 CLARK     24507566 JONES     29757654 MARTIN    12507499 ALLEN     16007844 TURNER    15007900 JAMES      950...14 rows selected.GRADE LOSAL  HISAL----- ----- ------17001200212011400314012000420013000530019999
Retrieving Records with Non-EquijoinsSQL> SELECT e.ename, e.sal, s.grade2FROMemp e, salgrade s3WHERE e.sal4BETWEEN s.losal AND s.hisal;ENAME            SAL     GRADE---------- --------- ---------JAMES            9501SMITH            8001ADAMS           11001...14 rows selected.
Outer JoinsNo employee in theOPERATIONS departmentEMP DEPT ENAMEDEPTNO-----	------KING10BLAKE30CLARK10JONES20...	DEPTNO DNAME------ ----------10ACCOUNTING30SALES10ACCOUNTING20RESEARCH...	40OPERATIONS
Outer JoinsYou use an outer join to also see rows that do not usually meet the join condition.Outer join operator is the plus sign (+).SELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column(+)= table2.column;SELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column = table2.column(+);
Using Outer JoinsSQL> SELECTe.ename, d.deptno, d.dname2  FROMemp e, dept d3  WHEREe.deptno(+) = d.deptno4  ORDER BYe.deptno;ENAME         DEPTNO DNAME---------- --------- -------------KING              10 ACCOUNTINGCLARK             10 ACCOUNTING...40 OPERATIONS15 rows selected.
Self Joins“MGR in the WORKER table is equal to EMPNO in the MANAGER table”EMP (WORKER)EMP (MANAGER)EMPNOENAME MGR-----	------	----7839KING7698BLAKE78397782CLARK78397566JONES78397654MARTIN76987499ALLEN7698EMPNOENAME-----	--------7839KING7839KING7839KING7698BLAKE7698BLAKE
Joining a Table to ItselfSQL> SELECT worker.ename||' works for '||manager.ename2  FROM emp worker, emp manager3  WHERE worker.mgr = manager.empno;WORKER.ENAME||'WORKSFOR'||MANAG-------------------------------BLAKE works for KINGCLARK works for KINGJONES works for KINGMARTIN works for BLAKE...13 rows selected.
SummarySELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column1= table2.column2;EquijoinNon-equijoinOuter joinSelf join
Practice OverviewJoining tables using an equijoinPerforming outer and self joinsAdding conditions

More Related Content

What's hot (20)

PPT
Les03
arnold 7490
 
PPT
Les01
arnold 7490
 
PPT
Les12
arnold 7490
 
PPT
Les01
Yousif Misbah
 
PPT
Les10
arnold 7490
 
PPT
Les11
arnold 7490
 
PPT
SQL WORKSHOP::Lecture 12
Umair Amjad
 
PPT
Les09
arnold 7490
 
PPT
Les02
jsgcruz
 
DOC
ORACLE NOTES
Sachin Shukla
 
PPT
SQL WORKSHOP::Lecture 2
Umair Amjad
 
PDF
MERGE SQL Statement: Lesser Known Facets
Andrej Pashchenko
 
PDF
Database Management System
Hitesh Mohapatra
 
PPT
Les05[1]Aggregating Data Using Group Functions
siavosh kaviani
 
PDF
COIS 420 - Practice02
Angel G Diaz
 
PPT
Les02[1]Restricting and Sorting Data
siavosh kaviani
 
PPT
Les03[1] Single-Row Functions
siavosh kaviani
 
PDF
حل اسئلة الكتاب السعودى فى شرح قواعد البيانات اوراكل
Mohamed Moustafa
 
PPT
Select To Order By
Krizia Capacio
 
SQL WORKSHOP::Lecture 12
Umair Amjad
 
Les02
jsgcruz
 
ORACLE NOTES
Sachin Shukla
 
SQL WORKSHOP::Lecture 2
Umair Amjad
 
MERGE SQL Statement: Lesser Known Facets
Andrej Pashchenko
 
Database Management System
Hitesh Mohapatra
 
Les05[1]Aggregating Data Using Group Functions
siavosh kaviani
 
COIS 420 - Practice02
Angel G Diaz
 
Les02[1]Restricting and Sorting Data
siavosh kaviani
 
Les03[1] Single-Row Functions
siavosh kaviani
 
حل اسئلة الكتاب السعودى فى شرح قواعد البيانات اوراكل
Mohamed Moustafa
 
Select To Order By
Krizia Capacio
 

Similar to Les04 Displaying Data From Multiple Table (20)

PPT
SQL WORKSHOP::Lecture 4
Umair Amjad
 
PPTX
Lecture03.._Joining_Spring2023-2024.pptx
mehediratul111
 
PDF
COIS 420 - Practice04
Angel G Diaz
 
PPTX
Lab4 join - all types listed
Balqees Al.Mubarak
 
ODP
BIS05 Introduction to SQL
Prithwis Mukerjee
 
PDF
ANSI vs Oracle language
Connor McDonald
 
PPT
e computer notes - From multiple tables
ecomputernotes
 
PPT
Introduction to-sql
BG Java EE Course
 
PPT
Les05
Sudharsan S
 
PPT
Les05 (Displaying Data from Multiple Table)
Achmad Solichin
 
PPT
Sql join
Vikas Gupta
 
PPT
Les01-Oracle
suman1248
 
PPTX
Day-2 SQL Theory_V1.pptx
uzmasulthana3
 
PPT
Join sql
Vikas Gupta
 
PPT
Displaying data from multiple tables
Syed Zaid Irshad
 
PPT
Les04
Vijay Kumar
 
PPT
SQL Introduction to displaying data from multiple tables
Vibrant Technologies & Computers
 
DOCX
It6312 dbms lab-ex2
MNM Jain Engineering College
 
PPT
SQL querys in detail || Sql query slides
gourav kottawar
 
PPTX
Introduction to mysql part 2
baabtra.com - No. 1 supplier of quality freshers
 
SQL WORKSHOP::Lecture 4
Umair Amjad
 
Lecture03.._Joining_Spring2023-2024.pptx
mehediratul111
 
COIS 420 - Practice04
Angel G Diaz
 
Lab4 join - all types listed
Balqees Al.Mubarak
 
BIS05 Introduction to SQL
Prithwis Mukerjee
 
ANSI vs Oracle language
Connor McDonald
 
e computer notes - From multiple tables
ecomputernotes
 
Introduction to-sql
BG Java EE Course
 
Les05 (Displaying Data from Multiple Table)
Achmad Solichin
 
Sql join
Vikas Gupta
 
Les01-Oracle
suman1248
 
Day-2 SQL Theory_V1.pptx
uzmasulthana3
 
Join sql
Vikas Gupta
 
Displaying data from multiple tables
Syed Zaid Irshad
 
SQL Introduction to displaying data from multiple tables
Vibrant Technologies & Computers
 
It6312 dbms lab-ex2
MNM Jain Engineering College
 
SQL querys in detail || Sql query slides
gourav kottawar
 
Ad

Recently uploaded (19)

DOCX
ANNOTATION TEMPLATE FOR TEACHER I-III.docx
catherine borja
 
PPTX
仿制CSUS学费单美国加利福尼亚州立大学萨克拉门托分校毕业证范本,CSUS文凭
taqyed
 
PDF
Mayur ReseavsdavdvZVdvzvsdvsdrch Poster.pdf
ssuser762ca81
 
PPTX
办理学历认证USC学生证西班牙圣地亚哥德孔波斯特拉大学电子毕业证,USC成绩单防伪
Taqyea
 
PDF
Dana Guerin - A Film Producer And Philanthropist
Dana Guerin
 
PPTX
Hasta la vista sota vita la humour.pptx
JohnAsir4
 
PDF
Arpit Bala – Talented Rapper & YouTuber from Faridabad
cricketmach.com
 
PPTX
Rice Genomics & Whole Genome Sequencing.pptx
LikhithHR
 
PDF
tiranga ritik baclink indexing on google
Jalwa Game
 
PPTX
Language Arts Subject for High School - 11th Grade_ Dark Romanticism_ America...
youcefdjarir66
 
PDF
How Los Angeles Shaped the Evolution of Sitcoms by David Shane PR.pdf
David Shane PR
 
DOCX
Top 1 app watch girls livestream (1).docx
jonhsey0009
 
PDF
Elio 2025 Review - Best Animation and Heartfelt.pdf
Flixtor Tor
 
PPTX
在线购买西班牙毕业证安东尼奥·德·内夫里哈大学文凭UANE学费单
Taqyea
 
PDF
16 Billions Google Leaked Password Alert in 2025
Harshh Goel
 
PPTX
原版一样(IWU毕业证书)美国印第安纳卫斯里大学毕业证在线购买
taqyed
 
PPTX
silver_linings_playbook the movie the movie
VernonSmap
 
PDF
Breaking the Romance Narrative – Why I Wrote “Hello”
itstriggerhere
 
PPT
PRESENTATION ON DYANAM YOGA BRAIN HEART SOUL
VenkatDeepakSarma
 
ANNOTATION TEMPLATE FOR TEACHER I-III.docx
catherine borja
 
仿制CSUS学费单美国加利福尼亚州立大学萨克拉门托分校毕业证范本,CSUS文凭
taqyed
 
Mayur ReseavsdavdvZVdvzvsdvsdrch Poster.pdf
ssuser762ca81
 
办理学历认证USC学生证西班牙圣地亚哥德孔波斯特拉大学电子毕业证,USC成绩单防伪
Taqyea
 
Dana Guerin - A Film Producer And Philanthropist
Dana Guerin
 
Hasta la vista sota vita la humour.pptx
JohnAsir4
 
Arpit Bala – Talented Rapper & YouTuber from Faridabad
cricketmach.com
 
Rice Genomics & Whole Genome Sequencing.pptx
LikhithHR
 
tiranga ritik baclink indexing on google
Jalwa Game
 
Language Arts Subject for High School - 11th Grade_ Dark Romanticism_ America...
youcefdjarir66
 
How Los Angeles Shaped the Evolution of Sitcoms by David Shane PR.pdf
David Shane PR
 
Top 1 app watch girls livestream (1).docx
jonhsey0009
 
Elio 2025 Review - Best Animation and Heartfelt.pdf
Flixtor Tor
 
在线购买西班牙毕业证安东尼奥·德·内夫里哈大学文凭UANE学费单
Taqyea
 
16 Billions Google Leaked Password Alert in 2025
Harshh Goel
 
原版一样(IWU毕业证书)美国印第安纳卫斯里大学毕业证在线购买
taqyed
 
silver_linings_playbook the movie the movie
VernonSmap
 
Breaking the Romance Narrative – Why I Wrote “Hello”
itstriggerhere
 
PRESENTATION ON DYANAM YOGA BRAIN HEART SOUL
VenkatDeepakSarma
 
Ad

Les04 Displaying Data From Multiple Table

  • 1. Displaying Data from Multiple Tables
  • 2. ObjectivesAfter completing this lesson, you should be able to do the following:Write SELECT statements to access data from more than one table using equality and nonequality joinsView data that generally does not meet a join condition by using outer joinsJoin a table to itself
  • 3. Obtaining Data from Multiple TablesEMP DEPT EMPNOENAME ... DEPTNO------ ----- ... ------7839KING ... 107698BLAKE ... 30 ... 7934MILLER ... 10DEPTNO DNAME LOC ------ ---------- --------10ACCOUNTINGNEW YORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTONEMPNO DEPTNO LOC----- ------- -------- 783910 NEW YORK769830 CHICAGO778210 NEW YORK756620 DALLAS765430 CHICAGO749930 CHICAGO...14 rows selected.
  • 4. What Is a Join?Use a join to query data from more than one table.Write the join condition in the WHERE clause.Prefix the column name with the table name when the same column name appears in more than one table.SELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column1= table2.column2;
  • 5. Cartesian ProductA Cartesian product is formed when:A join condition is omittedA join condition is invalidAll rows in the first table are joined to all rows in the second tableTo avoid a Cartesian product, always include a valid join condition in a WHERE clause.
  • 6. Generating a Cartesian Product“Cartesianproduct: 14*4=56 rows”EMP (14 rows) DEPT (4 rows) EMPNOENAME ... DEPTNO------ ----- ... ------7839KING ... 107698BLAKE ... 30 ... 7934MILLER ... 10DEPTNO DNAME LOC ------ ---------- --------10ACCOUNTINGNEW YORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTONENAME DNAME------ ----------KINGACCOUNTINGBLAKEACCOUNTING ...KINGRESEARCHBLAKERESEARCH...56 rows selected.
  • 8. What Is an Equijoin?Foreign keyPrimary keyEMP DEPT EMPNO ENAME DEPTNO------ ------- -------7839 KING 107698 BLAKE 307782 CLARK 107566 JONES 207654 MARTIN 307499 ALLEN 307844 TURNER 307900 JAMES 307521 WARD 307902 FORD 207369 SMITH 20...14 rows selected. DEPTNO DNAME LOC ------- ---------- --------10 ACCOUNTING NEW YORK30 SALESCHICAGO10 ACCOUNTINGNEW YORK 20 RESEARCHDALLAS30 SALESCHICAGO30 SALESCHICAGO30 SALESCHICAGO30 SALESCHICAGO30 SALESCHICAGO20 RESEARCHDALLAS20 RESEARCHDALLAS...14 rows selected.
  • 9. Retrieving Records with EquijoinsSQL> SELECT emp.empno, emp.ename, emp.deptno,2dept.deptno, dept.loc3 FROM emp, dept4 WHERE emp.deptno=dept.deptno;EMPNO ENAME DEPTNO DEPTNO LOC----- ------ ------ ------ ---------7839 KING1010 NEW YORK7698 BLAKE 3030 CHICAGO7782 CLARK1010 NEW YORK7566 JONES 2020 DALLAS...14 rows selected.
  • 10. Qualifying Ambiguous Column NamesUse table prefixes to qualify column names that are in multiple tables.Improve performance by using table prefixes.Distinguish columns that have identical names but reside in different tables by using column aliases.
  • 11. Additional Search ConditionsUsing the AND Operator EMP DEPT EMPNO ENAME DEPTNO------ ------- -------7839 KING 107698 BLAKE 307782 CLARK 107566 JONES 207654 MARTIN 307499 ALLEN 307844 TURNER 307900 JAMES 307521 WARD 307902 FORD 207369 SMITH 20...14 rows selected.DEPTNO DNAME LOC ------ --------- --------10 ACCOUNTINGNEW YORK30SALES CHICAGO10 ACCOUNTINGNEW YORK 20 RESEARCHDALLAS30 SALES CHICAGO30 SALES CHICAGO30 SALES CHICAGO30 SALES CHICAGO30 SALES CHICAGO20 RESEARCHDALLAS20 RESEARCHDALLAS...14 rows selected.
  • 12. Using Table AliasesSimplify queries by using table aliases.SQL> SELECT emp.empno, emp.ename, emp.deptno, 2 dept.deptno, dept.loc3 FROM emp, dept4 WHERE emp.deptno=dept.deptno;SQL> SELECT e.empno, e.ename, e.deptno, 2 d.deptno, d.loc3 FROM emp e, dept d4 WHERE e.deptno=d.deptno;
  • 13. Joining More Than Two TablesORD CUSTID ORDID------- -------101610102611104612106601102602106604106605... 21 rows selected.ITEM ORDID ITEMID------ -------61036111612160116021...64 rows selected. CUSTOMER NAMECUSTID----------- ------JOCKSPORTS100TKB SPORT SHOP101VOLLYRITE102JUST TENNIS103K+T SPORTS105SHAPE UP106WOMENS SPORTS 107... ...9 rows selected.
  • 14. Non-Equijoins“salary in the EMP table is between low salary and high salary in the SALGRADEtable”EMPSALGRADE EMPNO ENAME SAL------ ------- ------7839 KING 50007698 BLAKE 28507782 CLARK 24507566 JONES 29757654 MARTIN 12507499 ALLEN 16007844 TURNER 15007900 JAMES 950...14 rows selected.GRADE LOSAL HISAL----- ----- ------17001200212011400314012000420013000530019999
  • 15. Retrieving Records with Non-EquijoinsSQL> SELECT e.ename, e.sal, s.grade2FROMemp e, salgrade s3WHERE e.sal4BETWEEN s.losal AND s.hisal;ENAME SAL GRADE---------- --------- ---------JAMES 9501SMITH 8001ADAMS 11001...14 rows selected.
  • 16. Outer JoinsNo employee in theOPERATIONS departmentEMP DEPT ENAMEDEPTNO----- ------KING10BLAKE30CLARK10JONES20... DEPTNO DNAME------ ----------10ACCOUNTING30SALES10ACCOUNTING20RESEARCH... 40OPERATIONS
  • 17. Outer JoinsYou use an outer join to also see rows that do not usually meet the join condition.Outer join operator is the plus sign (+).SELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column(+)= table2.column;SELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column = table2.column(+);
  • 18. Using Outer JoinsSQL> SELECTe.ename, d.deptno, d.dname2 FROMemp e, dept d3 WHEREe.deptno(+) = d.deptno4 ORDER BYe.deptno;ENAME DEPTNO DNAME---------- --------- -------------KING 10 ACCOUNTINGCLARK 10 ACCOUNTING...40 OPERATIONS15 rows selected.
  • 19. Self Joins“MGR in the WORKER table is equal to EMPNO in the MANAGER table”EMP (WORKER)EMP (MANAGER)EMPNOENAME MGR----- ------ ----7839KING7698BLAKE78397782CLARK78397566JONES78397654MARTIN76987499ALLEN7698EMPNOENAME----- --------7839KING7839KING7839KING7698BLAKE7698BLAKE
  • 20. Joining a Table to ItselfSQL> SELECT worker.ename||' works for '||manager.ename2 FROM emp worker, emp manager3 WHERE worker.mgr = manager.empno;WORKER.ENAME||'WORKSFOR'||MANAG-------------------------------BLAKE works for KINGCLARK works for KINGJONES works for KINGMARTIN works for BLAKE...13 rows selected.
  • 21. SummarySELECTtable1.column, table2.columnFROMtable1, table2WHEREtable1.column1= table2.column2;EquijoinNon-equijoinOuter joinSelf join
  • 22. Practice OverviewJoining tables using an equijoinPerforming outer and self joinsAdding conditions