您好,登錄后才能下訂單哦!
如何進(jìn)行sql表連接查詢的分析,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
連接查詢:
連接查詢是指基于兩個(gè)或者兩個(gè)以上的表或者視圖的查詢,在實(shí)際的應(yīng)用中,查詢單個(gè)表可能無(wú)法滿足應(yīng)用
程序的需求,這種情況下就需要使用連接查詢;
#當(dāng)使用連接查詢的時(shí)候,必須在from子句后面制定兩個(gè)或者兩個(gè)以上的表
#在使用連接查詢的時(shí)候,應(yīng)該在列名前加表明作為前綴,但是,如果不同表之間的列名不同,可以不加表名前綴,如果在不同的表之間存在著同名列,在列名之間必須加上前綴;
#在進(jìn)行連接查詢的時(shí)候,可以使用表的別名來(lái)簡(jiǎn)化連接查詢語(yǔ)句;
1)相等連接:
相等查詢是指使用小燈比較符(=)指定連接條件的連接查詢,該類連接查詢主要是檢索主從表之間的相關(guān)數(shù)據(jù)
select table1.column table2.column from table1,table2 where table1.column1=table2.column2;
2)不等連接:
不等連接是指在連接條件中使用除相等比較符外的其他比較操作符的連接查詢;不等連接主要用于在不同表之間顯示特定范圍的信息
如:select a.ename,a,sal,b.grade from emp a,salgrade b where a.sal between b.losal and b.hisal;
3)自連接:
自連接是指在同一張表之間的查詢連接,他主要是用在自參照表顯示上下級(jí)關(guān)系或者主次關(guān)系;
如下面有這樣一張表
EMPNO ENAME MGR
----------------- ------------- ---------------
7839 KING
7566 JONES 7839
7698 BLAKE 7839
7782 CLARK 7566
在這份表中,有員工id,員工姓名,員工上級(jí),這樣的表,本來(lái)在行與行之間存在上下級(jí),從屬關(guān)系,所以這里就用到了自連接;
如:select manager.ename From emp manager,emp worker where manager.empno=worker.mgr and worker.ename='BLAKE'
3)內(nèi)連接和外連接:
內(nèi)連接是用于返回滿足條件的記錄,外連接則是內(nèi)連接的擴(kuò)展,他不僅會(huì)返回滿足條件的所有連接,還會(huì)返回不滿足連接條件的記錄,
語(yǔ)法:
select table1.column,table2.column2 from table1 [INNER | LEFT | RIGHT | FULL ] join table2 on table1.column1=table2.column2
1內(nèi)連接:內(nèi)連接返回滿足連接條件的所有記錄,默認(rèn)情況下,在執(zhí)行連接查詢時(shí)如果沒有制定任何操作符,哪么這些連接查詢就是屬于內(nèi)連接;其實(shí)內(nèi)連接和等值連接效果是一樣的,之所以稱之為內(nèi)連接,是相對(duì)與外連接來(lái)說(shuō)的!
如:select a.dname,b.ename from dept a,emp b where a.deptno=b.deptno and a.deptno=10;
2左(右)外連接:左外連接是用LEFT 【RIGHT】JOIN選項(xiàng)來(lái)實(shí)現(xiàn)的,當(dāng)使用左(右)外連接的時(shí)候,不僅會(huì)返回用戶連接條件的所有記錄,而且會(huì)返回不滿足連接條件的連接操作符左【右】邊表的其他行;
4)完全外連接:
完全外連接是指通過full JOIN來(lái)實(shí)現(xiàn)的,當(dāng)使用完全外連接時(shí),不僅會(huì)返回滿足連接條件的所有行,而且會(huì)返回不滿足連接條件的所有其他行;
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。