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