一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL由淺入深掌握連接查詢

MySQL由淺入深掌握連接查詢

2022-03-09 22:28桃花鍵神 Mysql

連接查詢是關系數據庫中最主要的查詢,主要包括內連接、外連接和交叉連接等。通過連接運算符可以實現多個表查詢。連接是關系數據庫模型的主要特點,也是它區別于其它類型數據庫管理系統的一個標志

數據庫版本:mysql8。0.27

內連接

  • 內連接INNERJOIN是最常用的連接操作。從數學的角度講就是求兩個表的交集,從笛卡爾積的角度講就是從笛卡爾積中挑出ON子句條件成立的記錄。
  • 在我看來內連接和等值連接差不多,自然連接是內連接中的一個特殊連接

自然連接和等值連接的區別

什么是自然連接?

  • 自然連接(Naturaljoin)是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉。

什么是等值連接?

  • 等值連接是關系運算-連接運算的一種常用的連接方式。是條件連接(或稱θ連接)在連接運算符為“=”號時,即θ=0時的一個特例

舉例分析:

表aaa

MySQL由淺入深掌握連接查詢

表bbb:

MySQL由淺入深掌握連接查詢

查詢表aaa和表bbb中屬性C B D相等的數據

等值連接查詢:

SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E 

結果:

MySQL由淺入深掌握連接查詢

自然連接查詢:

-- 自然連接用關鍵字 natural join
SELECT*from aaa natural join bbb;

結果:

MySQL由淺入深掌握連接查詢

由上面兩個結果可以看出,等值連接就是從兩個表數據的交集中取指定值相等的數據。而自然連接就是取兩個表中相同屬性,并且值相等的數據,而且消除了相同屬性列。

內連接的實現方式

第一種:where

SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E 

第二種:inner join

select*from aaa inner join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

第三種:join

select*from aaa join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

第四種:STRAIGHT_JOIN

select*from aaa STRAIGHT_JOIN bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

后面三種效果一樣,第三種可以理解為第二種的縮寫。第四種和第二種主要區別是插入方式不同,第四種性能略低

 

外連接

  • 外連接分為三種:左外連接,右外連接,全外連接。對應SQL:LEFT/RIGHT/FULL OUTER JOIN。

左連接

什么是左連接?

左連接LEFT JOIN的含義就是求兩個表A表和B表的交集外加左表剩下的數據。依舊從笛卡爾積的角度講,就是先從笛卡爾積中挑出ON子句條件成立的記錄,然后加上左表A表中剩余的記錄

MySQL由淺入深掌握連接查詢

代碼實現:

select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

結果:

MySQL由淺入深掌握連接查詢

右連接

什么是左連接?

  • 同理右連接RIGHT JOIN就是求兩個表A和B表的交集外加右表B剩下的數據。再次從笛卡爾積的角度描述,右連接就是從笛卡爾積中挑出ON子句條件成立的記錄,然后加上右表中剩余的記錄

MySQL由淺入深掌握連接查詢

代碼實現:

select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

結果:

MySQL由淺入深掌握連接查詢

全連接

全外連接就是求兩個表A和B集合的并集。從笛卡爾積的角度講就是從笛卡爾積中挑出ON子句條件成立的記錄,然后加上左表中剩余的記錄,最后加上右表中剩余的記錄。另外MySQL不支持OUTER JOIN,但是我們可以對左連接和右連接的結果做 UNION 操作來實現。

MySQL由淺入深掌握連接查詢

代碼實現:

select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E
union 
select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E

結果:

MySQL由淺入深掌握連接查詢

到此這篇關于MySQL由淺入深掌握連接查詢的文章就介紹到這了,更多相關MySQL 連接查詢內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_50843918/article/details/123055604

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品亚洲精品日韩已方 | 香蕉精品国产高清自在自线 | 免费草比视频 | 免费在线观看网址入口 | 狠狠躁夜夜躁人人爽天天miya | 亚洲无线一二三区2021 | 精品午夜寂寞黄网站在线 | 国产成人精品s8sp视频 | 日本在线视频网址 | 黄色wwwwww| 欧美日韩国产成人综合在线 | 日韩欧免费一区二区三区 | 热99re久久精品精品免费 | av在线亚洲男人的天堂 | 扒开双腿猛进入爽爽视频ai | ipx-177绝对领域在线观看 | 国产一区二区三区高清 | 久久视热频国产这里只有精品23 | 亚洲伦理一区 | 久久黄色小视频 | 操熟美女又肥又嫩的骚屁股 | 手机在线观看伦理片 | 国产rpg迷雾之风冷狐破解 | 欧美一级久久久久久久大片 | tobu8中国在线观看免费视频 | 久操久操久操 | 高h射尿| 亚洲AV蜜桃永久无码精品红樱桃 | 美女张开双腿让男人捅 | 亚洲AV 日韩 国产 有码 | 天干夜天天夜天干天ww | narutotsunade全彩雏田 | 亚洲精品国偷拍自产在线观看蜜臀 | 91国内精品久久久久怡红院 | 楚乔传第二部免费播放电视连续剧 | 顶级尤物极品女神福利视频 | 动漫美女胸被狂揉扒开吃奶动态图 | 欧美黑人ⅹxxx片 | 99久精品| 91麻豆精品激情在线观看最新 | 成人网欧美亚洲影视图片 |