MySQL表的內(nèi)外連接使用詳解
內(nèi)連接
內(nèi)連接實(shí)際上就是利用where子句對兩種表形成的笛卡爾積進(jìn)行篩選,前面所說過的查詢都是內(nèi)連接,也是在開發(fā)過程中使用的最多的連接查詢。
select 字段 from 表1 inner join 表2 on 連接條件 and 其他條件;
inner join : 將兩個表按照指定條件關(guān)聯(lián)匹配,只返回兩個表中滿足連接條件的行??珊唽憺閖oin
on : 用來指定join的關(guān)聯(lián)條件為連接兩個表的核心規(guī)則,也可附加篩選條件
顯示SMITH的名字和部門名稱
用上一篇的寫法為

內(nèi)連接的寫法為
select ename,dname from EMP inner join DEPT on EMP.deptno=DEPT.deptno where ename='SMITH'; select ename,dname from EMP inner join DEPT on EMP.deptno=DEPT.deptno and ename='SMITH';
on后的條件形成笛卡爾積,where進(jìn)一步篩選 這種寫法會更清晰

外連接
左外連接
如果聯(lián)合查詢,左側(cè)的表完全顯示我們就說是左外連接
語法
select 字段名 from 表名1 left join 表名2 on 連接條件
四名同學(xué),兩名同學(xué)有成績,left join 會優(yōu)先考慮完整顯示左側(cè)的表,inner
查詢所有學(xué)生成績,學(xué)生沒有成績也要將學(xué)生的個人信息顯示出來

右外連接
如果聯(lián)合查詢,右側(cè)的表完全顯示我們就說是右外連接
語法
select 字段 from 表名1 right join 表名2 on 連接條件;
顯示所有成績即使沒有學(xué)生與之對應(yīng)
將兩個表互換位置就是左外連接,顯示所有學(xué)生的成績...

列出部門名稱和這些部門的員工信息,同時列出沒有員工的部門
優(yōu)先顯示部門表,根據(jù) deptno來篩選
select * from DEPT left join EMP on EMP.deptno=DEPT.deptno;

到此這篇關(guān)于MySQL表的內(nèi)外連接使用詳解的文章就介紹到這了,更多相關(guān)mysql表內(nèi)外連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 查詢結(jié)果取交集的實(shí)現(xiàn)方法
本文將詳細(xì)介紹MySQL中如何實(shí)現(xiàn)以SQL查詢返回的結(jié)果集取交集的實(shí)現(xiàn)方法,需要的朋友可以參考2012-11-11
Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解
這篇文章主要介紹了Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-01-01

