2021/02/23 MySQL内连接、左外连接、右外连接。
數據庫軟件:SQLyog。
數據庫表:a_table、b_table 。
主題:使用數據庫表a_table、b_table 實現 內連接、左外連接、右外連接。
數據庫 建表SQL語句
a_table
create table `a_table` (`a_id` int (11),`a_name` varchar (30),`a_part` varchar (30) ); insert into `a_table` (`a_id`, `a_name`, `a_part`) values('1','老潘','總裁部'); insert into `a_table` (`a_id`, `a_name`, `a_part`) values('2','老王','秘書部'); insert into `a_table` (`a_id`, `a_name`, `a_part`) values('3','老張','設計部'); insert into `a_table` (`a_id`, `a_name`, `a_part`) values('4','老季','運營部'); insert into `a_table` (`a_id`, `a_name`, `a_part`) values('9','gggg','gggg'); insert into `a_table` (`a_id`, `a_name`, `a_part`) values('11','qwe','qwe');b_table
create table `b_table` (`b_id` int (11),`b_name` varchar (30),`b_part` varchar (30) ); insert into `b_table` (`b_id`, `b_name`, `b_part`) values('2','老王','秘書部'); insert into `b_table` (`b_id`, `b_name`, `b_part`) values('3','老張','設計部'); insert into `b_table` (`b_id`, `b_name`, `b_part`) values('5','老劉','人事部'); insert into `b_table` (`b_id`, `b_name`, `b_part`) values('6','老黃','生產部'); insert into `b_table` (`b_id`, `b_name`, `b_part`) values('7','hhh','hhhh');表測試的數據內容:
a_table
b_table
一、內連接
關鍵字: INNER JOIN
執行SQL語句:SELECT * FROM a_table a INNER JOIN b_table b ON a.a_id = b.b_id;
執行結果:
描述:結合兩個表的數據,返回符合篩選條件的數據,也就是兩個表交集的部分(陰影部分)。
二、左外連接
關鍵字: LEFT OUTER JOIN ON、縮寫:LEFT JOIN ON(兩者含義一樣)
執行SQL語句:SELECT * FROM a_table a LEFT JOIN b_table b ON a.a_id = b.b_id;
執行結果:描述:返回關于左表(a_table)所有記錄,而右表(b_table)只返回符合篩選條件的記錄,右表記錄不足的地方均顯示為Null。
注意:在我學習左外連接的時候,總分不清哪個是主表,總以為 LEFT JOIN 后的是主表。這里別搞混淆的 其實是FROM后的表 才是主表 LEFT JOIN后的是右表。
二、右外連接
關鍵字: RIGHT OUTER JOIN ON、縮寫:RIGHT JOIN ON(兩者含義一樣)
執行SQL語句:SELECT * FROM a_table a RIGHT JOIN b_table b ON a.a_id = b.b_id;
執行結果:
描述:跟左外連接相反。右外連接,左表(a_table)只返回符合篩選條件的記錄,而右表(b_table)返回所有記錄,左表記錄不足的地方均顯示為Null。
博主也是第一次做博客文,還沒有創新,非常抱歉。(如有更好的也請大家鞭策,謝謝!)
總結
以上是生活随笔為你收集整理的2021/02/23 MySQL内连接、左外连接、右外连接。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TS流基本概念
- 下一篇: 中山大学路由器如何通过h3c认证上网(极