時間:2022-05-08來源:www.farandoo.com作者:電腦系統城
1.首先準備兩張表
部門表:
員工表:
以下我們就對這兩張表進行不同的連接操作
作用: 查詢兩張表的共有部分
語句:Select from tableA A Inner join tableB B on A.Key = B.Key
示例:SELECT * from employee e INNER JOIN department d on e.dep_id = d.id;
結果顯示:通過這個查找的方法,我們沒有查到id為8的數據
作用:把左邊表的內容全部查出,右邊表只查出滿足條件的記錄
語句:Select from tableA A Left Join tableB B on A.Key = B.Key
示例:SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id;
結果顯示:
作用:把右邊表的內容全部查出,左邊表只查出滿足條件的記錄
語句:Select from tableA A Left Join tableB B on A.Key = B.Key
示例:SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id;
結果顯示:
作用:查詢A的獨有數據
語句:Select from tableA A Left Join tableB B on A.Key = B.Key where B.key IS NULL
示例:SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id WHERE d.id IS NULL;
結果顯示:
作用:查詢B的獨有數據
語句:Select from tableA A Right Join tableB B on A.Key = B.Key where A.key IS NULL
示例:SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id WHERE e.id IS NULL;
結果顯示:
作用:查詢兩個表的全部信息
語句:Select from tableA A Full Outter Join tableB B on A.Key = B.Key
注:Mysql 默認不支持此種寫法 Oracle支持 可以使用將左連接與右連接結合起來作為全連接
示例:
1 2 3 |
SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id UNION SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id |
結果顯示:
作用:查詢A和B各自的獨有的數據
語句:Select from tableA A Full Outter Join tableB B on A.Key = B.Key where A.key = null or B.key=null
示例:
1 2 3 |
SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id WHERE d.id is NULL UNION SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id WHERE e.dep_id is NULL |
結果顯示:
到此這篇關于Mysql中常用的幾種join連接方式的文章就介紹到這了
2022-03-09
MySQL存儲過程圖文實例講解教程2022-03-01
千萬級用戶系統SQL調優實戰分享2022-03-01
mysql遠程跨庫聯合查詢的示例為什么要主從同步? 主從同步的原理 MYSQL數據庫進行主從同步 創建兩個MYSQL數據庫 初始化,安裝主機數據庫 配置從機 測試主從同步 ...
2022-03-01
這篇文章主要介紹了銀河麒麟V10安裝MySQL8028的圖文教程,并詳細介紹了遠程訪問的實現方法,本文通過圖文命令給大家介紹的非常詳細...
2022-02-28