MySQL—外连接查询
生活随笔
收集整理的這篇文章主要介紹了
MySQL—外连接查询
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
舉例:2個(gè)表:員工表和部門(mén)表
1、inner join - on 語(yǔ)句,查詢所有的匹配信息
select * from emp e inner join dept d on e.deptno=d.deptno出現(xiàn)的問(wèn)題
a、40號(hào)部門(mén)沒(méi)有員工,沒(méi)有顯示在查詢結(jié)果中
b、如果員工scott沒(méi)有部門(mén),沒(méi)有顯示在查詢結(jié)果中
解決方法:使用外連接
外連接:除了顯示匹配的數(shù)據(jù)之外,還可以顯示不匹配的數(shù)據(jù)
2、左外連接 left outer join
select * from emp e left outer join dept d on e.deptno=d.deptno左外連接 left outer join特點(diǎn):左面的表的信息,即使不匹配也可以查看出結(jié)果
3、右外連接 right outer join
select * from emp e right outer join dept d on e.deptno=d.deptno右外連接 right outer join:右面的表的信息,即使不匹配也可以查看出結(jié)果
select * from emp e right outer join dept d on e.deptno=d.deptno4、全外連接
全外連接 full outer join – 這個(gè)語(yǔ)法在mysal不支持 – 展示左右表全部不匹配的信息
select * from emp e full outer join dept d on e.deptno=d.deptno1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘full outer join dept d
on e.deptno=d.deptno’ at line 3
解決辦法:
select * from emp e left outer join dept d on e.deptno=d.deptno union -- 并集:去重 select * from emp e right outer join dept d on e.deptno=d.deptno– mysal中集合操作比較弱,只支持并集
總結(jié)
以上是生活随笔為你收集整理的MySQL—外连接查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL—三表查询
- 下一篇: MySQL—自连接