亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

數據庫知識點(1)——join查詢語句梳理

標簽:
MySQL

之前一直对join相关语句的语法和效果模模糊糊的,今天特地整理了一下学习成果,希望对大家有用。O(∩_∩)O~~
join的类型主要有一下五种:
1、内连接(inner)
2、全外连接(outer)
3、左连接(left)
4、右连接(right)
5、交叉连接(cross)
下面开始逐一说明。(附上练习用的两个表:表A,表B)
表A表B
一、内连接
内连接是根据连接条件取两个表的交集。

select a.id aId ,a.name aName,b.id bId,b.name bName from A a inner join B b on a.id = b.id;
select a.id aId ,a.name aName,b.id bId,b.name bName from A a join B b on a.id = b.id;
select a.id aId ,a.name aName,b.id bId,b.name bName from A a ,B b where a.id = b.id;

这三个查询语句查询出结果相同。
inner_1inner_2inner_3

二、全外连接
全外链接是根据连接条件将两个表链接起来,取两个表的并集。

select a.id aId ,a.name aName,b.id bId,b.name bName from A a left join B b on a.id = b.id  union select a.id aId ,a.name aName,b.id bId,b.name bName from A a right join B b on a.id = b.id;

因为目前使用的MySql版本不支持直接使用 full join,所以使用 left join ...union ...right join 的语句代替。效果和 select a.id aId ,a.name aName,b.id bId,b.name bName from A a full join B b on a.id = b.id一样。
把左连接和右连接保留相同的部分,增加上各自不同的部分就是全外连接。
full_1full_2
三、左连接
左连接是以from后的表为基础,展示这个表的全部信息,left join 后的表有符合连接条件的就添加上该表的相应信息,没有则以NULL补缺。

select a.id aId ,a.name aName,b.id bId,b.name bName from B b left join A a on a.id = b.id;
select a.id aId ,a.name aName,b.id bId,b.name bName from B b right join A a on a.id = b.id;

以上查询语句结果相同
left_1left_2
四、右连接
右连接是以from后的表为基础,展示这个表的全部信息,right join 后的表有符合连接条件的就添加上该表的相应信息,没有则以NULL补缺。

select a.id aId ,a.name aName,b.id bId,b.name bName from A a right join B b on a.id = b.id;
 select a.id aId ,a.name aName,b.id bId,b.name bName from B b left join A a on a.id = b.id; 

right_1right_2
五、交叉连接
交叉连接,返回两个表的笛卡尔乘积

select * from A a cross join B b; 
select * from B b cross join A a;

以上语句都返回49条查询结果 。
cross_1

 select * from A a cross join B b where a.id = b.id;

是找出笛卡尔乘积中 a.id 和 b.id 相同的。
cross_2corss_3

點擊查看更多內容
5人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
103
獲贊與收藏
598

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消