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