最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL由淺入深掌握連接查詢

 更新時間:2022年03月09日 16:40:52   作者:桃花鍵神  
連接查詢是關(guān)系數(shù)據(jù)庫中最主要的查詢,主要包括內(nèi)連接、外連接和交叉連接等。通過連接運(yùn)算符可以實(shí)現(xiàn)多個表查詢。連接是關(guān)系數(shù)據(jù)庫模型的主要特點(diǎn),也是它區(qū)別于其它類型數(shù)據(jù)庫管理系統(tǒng)的一個標(biāo)志

數(shù)據(jù)庫版本:mysql8。0.27

內(nèi)連接

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

自然連接和等值連接的區(qū)別

什么是自然連接?

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

什么是等值連接?

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

舉例分析:

表aaa

表bbb:

查詢表aaa和表bbb中屬性C B D相等的數(shù)據(jù)

等值連接查詢:

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

結(jié)果:

自然連接查詢:

-- 自然連接用關(guān)鍵字 natural join
SELECT*from aaa natural join bbb;

結(jié)果:

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

內(nèi)連接的實(shí)現(xiàn)方式

第一種: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;

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

外連接

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

左連接

什么是左連接?

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

代碼實(shí)現(xiàn):

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

結(jié)果:

右連接

什么是左連接?

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

代碼實(shí)現(xiàn):

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

結(jié)果:

全連接

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

代碼實(shí)現(xiàn):

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

結(jié)果:

到此這篇關(guān)于MySQL由淺入深掌握連接查詢的文章就介紹到這了,更多相關(guān)MySQL 連接查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL中TO_DAYS()函數(shù)詳解與實(shí)際應(yīng)用舉例

    MySQL中TO_DAYS()函數(shù)詳解與實(shí)際應(yīng)用舉例

    TO_DAYS函數(shù)是指從零開始到函數(shù)內(nèi)時間的天數(shù),下面這篇文章主要給大家介紹了關(guān)于MySQL中TO_DAYS()函數(shù)詳解與實(shí)際應(yīng)用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • mysql分表之后如何平滑上線詳解

    mysql分表之后如何平滑上線詳解

    項(xiàng)目開發(fā)中,我們的數(shù)據(jù)庫數(shù)據(jù)越來越大,隨之而來的是單個表中數(shù)據(jù)太多,以至于查詢書讀變慢,當(dāng)出現(xiàn)這種情況時,我們可以考慮分表,這篇文章主要給大家介紹了關(guān)于mysql分表之后如何平滑上線的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 解決mysql數(shù)據(jù)庫設(shè)置遠(yuǎn)程連接權(quán)限執(zhí)行g(shù)rant all privileges on *.* to 'root'@'%' identified by '密碼' with grant optio報(bào)錯

    解決mysql數(shù)據(jù)庫設(shè)置遠(yuǎn)程連接權(quán)限執(zhí)行g(shù)rant all privileges on&n

    這篇文章主要介紹了解決mysql數(shù)據(jù)庫設(shè)置遠(yuǎn)程連接權(quán)限執(zhí)行g(shù)rant all privileges on *.* to 'root'@'%' identified by '密碼' with grant optio報(bào)錯,通過本文給大家分享問題原因解析及解決方法,需要的朋友可以參考下
    2022-11-11
  • MySQL中ADD?COLUMN添加多個字段的寫法實(shí)例

    MySQL中ADD?COLUMN添加多個字段的寫法實(shí)例

    這篇文章主要給大家介紹了關(guān)于MySQL中ADD?COLUMN添加多個字段的寫法實(shí)例,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • mysql清除log-bin日志的方法

    mysql清除log-bin日志的方法

    這篇文章主要介紹了mysql清除log-bin日志的方法,同時介紹了log-bin日志的作用,需要的朋友可以參考下
    2014-06-06
  • MySQL中索引的分類詳解

    MySQL中索引的分類詳解

    這篇文章主要介紹了MySQL中索引的分類詳解,普通索引就是最基礎(chǔ)的索引,這種索引沒有任何的約束作用,它存在的主要意義就是提高查詢效率,唯一性索引是在普通索引的基礎(chǔ)上增加了數(shù)據(jù)唯一性的約束,一個表中可以有多個,需要的朋友可以參考下
    2023-08-08
  • MySQL 多個%等模糊查詢功能實(shí)現(xiàn)

    MySQL 多個%等模糊查詢功能實(shí)現(xiàn)

    這篇文章主要介紹了MySQL 多個%等模糊查詢功能實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 如何正確、安全地關(guān)閉MySQL

    如何正確、安全地關(guān)閉MySQL

    當(dāng)需要停止或關(guān)閉MySQL實(shí)例時,很多人并不清楚如何做到正確、安全地關(guān)閉MySQL,會對數(shù)據(jù)的安全性和穩(wěn)定性造成很大的威脅,本文將從多個方面詳細(xì)闡述如何正確關(guān)閉MySQL,包括關(guān)閉MySQL的基本方法、關(guān)閉MySQL前的準(zhǔn)備工作、優(yōu)雅地關(guān)閉MySQL以及遇到MySQL無法正常關(guān)閉的情況
    2023-09-09
  • Mac上安裝Mysql的詳細(xì)步驟及配置

    Mac上安裝Mysql的詳細(xì)步驟及配置

    這篇文章主要給大家介紹了關(guān)于Mac上安裝Mysql的詳細(xì)步驟及配置,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程

    mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

前郭尔| 星座| 铜山县| 措勤县| 财经| 溧阳市| 岗巴县| 东源县| 石首市| 青冈县| 丹凤县| 武穴市| 大安市| 石门县| 扬中市| 孝义市| 上犹县| 宽甸| 乐陵市| 武安市| 水城县| 安达市| 泾川县| 宝山区| 武城县| 南川市| 临夏市| 浦城县| 平武县| 分宜县| 利津县| 丽江市| 延庆县| 海宁市| 竹溪县| 邓州市| 恩施市| 颍上县| 鹤峰县| 赣州市| 建平县|