表的連接分為內連接和外連接。
內連接
內連接實際上就是利用where子句對兩種表形成的笛卡爾積進行篩選,之前的文章中所用的查詢都是內連接,也是開發中使用的最多的連接查詢。
select 字段 from 表1 inner join 表2 on 連接條件 and 其他條件;
- 顯示SMITH的名字和部門名稱
select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno and
ename='SMITH';
用標準的內連接寫法:
select enmae, dname from EMP inner join DEPT on EMP.deptno=DEPT.deptno and enmae='SMITH';
外連接
外連接分為左外連接和右外連接。
select 字段名 from 表名1 left join 表名2 on 連接條件
左外連接
如果聯合查詢,左側的表完全顯示就是左外連接。
- 查詢所有學生的成績,如果這個學生沒有成績,也要將學生的個人信息顯示出來。
當左邊表和右邊表沒有匹配時,也會顯示左邊表的數據。
右外連接
如果聯合查詢,右邊的表完全顯示就是右外連接。
select 字段 from 表名1 right join 表名2 on 連接條件;
- 對stu表和exam表聯合查詢,把所有的成績都顯示出來,即使這個成績沒有學生與它對應,也要顯示出來