資源描述:
《oracle數(shù)據(jù)庫sql語句多表查詢》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、四、多表查詢目標完成本節(jié)課的學(xué)習(xí)后,應(yīng)當達到如下目標:寫出能從多個等連接或者非等連接的表中取出數(shù)據(jù)的SQL語句。使用外連接來查找數(shù)據(jù)。寫出一個表與其自身連接的SQL語句。EMPNODEPTNOLOC--------------------783910NEWYORK769830CHICAGO778210NEWYORK756620DALLAS765430CHICAGO749930CHICAGO...14rowsselected.從多個表中獲取數(shù)據(jù)EMPDEPTEMPNOENAME...DEPTNO------
2、-----...------7839KING...107698BLAKE...30...7934MILLER...10DEPTNODNAMELOC------------------------10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTON什么是連接?用一個連接來從多個表中獲取數(shù)據(jù).在Where子句中書寫連接的條件.如果某個列的名字在多個表中出現(xiàn)了,那么需要在列的名字前面加上表名作為前綴.SELECTtable1.co
3、lumn,table2.columnFROMtable1,table2WHEREtable1.column1=table2.column2;笛卡爾積以笛卡爾積連接的表具有下列特征:連接條件被忽略。第一個表中的所有的行與第二個表中的所有行相連接。如果在WHERE子句中加入條件,那么可以避免笛卡爾積.產(chǎn)生一個笛卡爾積ENAMEDNAME----------------KINGACCOUNTINGBLAKEACCOUNTING...KINGRESEARCHBLAKERESEARCH...56rowsselecte
4、d.EMP(14行)DEPT(4行)EMPNOENAME...DEPTNO-----------...------7839KING...107698BLAKE...30...7934MILLER...10DEPTNODNAMELOC------------------------10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTON“笛卡爾積運算結(jié)果:14*4=56行”連接的類型相等連接非相等連接外連接自連接什么是相等連接
5、?EMPDEPTEMPNOENAMEDEPTNO--------------------7839KING107698BLAKE307782CLARK107566JONES207654MARTIN307499ALLEN307844TURNER307900JAMES307521WARD307902FORD207369SMITH20...14rowsselected.DEPTNODNAMELOC-------------------------10ACCOUNTINGNEWYORK30SALESCHICAGO10
6、ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO30SALESCHICAGO30SALESCHICAGO30SALESCHICAGO30SALESCHICAGO20RESEARCHDALLAS20RESEARCHDALLAS...14rowsselected.外鍵主鍵用等連接獲取紀錄SQL>SELECTemp.empno,emp.ename,emp.deptno,2dept.deptno,dept.loc3FROMemp,dept4WHEREemp.deptn
7、o=dept.deptno;EMPNOENAMEDEPTNODEPTNOLOC--------------------------------7839KING1010NEWYORK7698BLAKE3030CHICAGO7782CLARK1010NEWYORK7566JONES2020DALLAS...14rowsselected.限定不明確的列名用表名作為前綴來限定在多個表中都出現(xiàn)的列名字.利用表的前綴可以提高性能.使用不同的別名來標志在不同表中的相同的名字。用AND操作符增加查詢條件EMPDEPTEMP
8、NOENAMEDEPTNO--------------------7839KING107698BLAKE307782CLARK107566JONES207654MARTIN307499ALLEN307844TURNER307900JAMES307521WARD307902FORD207369SMITH20...14rowsselected.DEPTNODNAMELOC-----------------------