欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL由淺入深掌握連接查詢

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

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

內(nèi)連接

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

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

什么是自然連接?

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

什么是等值連接?

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

舉例分析:

表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é)果:

由上面兩個(gè)結(jié)果可以看出,等值連接就是從兩個(gè)表數(shù)據(jù)的交集中取指定值相等的數(shù)據(jù)。而自然連接就是取兩個(gè)表中相同屬性,并且值相等的數(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的含義就是求兩個(gè)表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就是求兩個(gè)表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é)果:

全連接

全外連接就是求兩個(gè)表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存儲引擎InnoDB的配置與使用的講解

    MySQL存儲引擎InnoDB的配置與使用的講解

    今天小編就為大家分享一篇關(guān)于MySQL存儲引擎InnoDB的配置與使用的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • mysql字符串函數(shù)詳細(xì)匯總

    mysql字符串函數(shù)詳細(xì)匯總

    這篇文章主要介紹了mysql字符串函數(shù)詳細(xì)匯總,字符串函數(shù)主要用來處理數(shù)據(jù)庫中的字符串?dāng)?shù)據(jù),更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-07-07
  • MySL實(shí)現(xiàn)如等級成色等特殊順序的排序詳解

    MySL實(shí)現(xiàn)如等級成色等特殊順序的排序詳解

    這篇文章主要為大家介紹了MySL實(shí)現(xiàn)如等級成色等特殊順序的排序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • mysql主從同步復(fù)制錯(cuò)誤解決一例

    mysql主從同步復(fù)制錯(cuò)誤解決一例

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids
    2011-05-05
  • 自用mysql自帶命令實(shí)現(xiàn)數(shù)據(jù)庫備份還原的方法

    自用mysql自帶命令實(shí)現(xiàn)數(shù)據(jù)庫備份還原的方法

    本文章介紹了都是mysql常用的命令一些數(shù)據(jù)導(dǎo)入導(dǎo)出的命令了,只要我們撐握這些命令就可以方法快速的給我們的數(shù)據(jù)庫進(jìn)行備份還原了
    2012-04-04
  • Mysql忘記密碼解決方法

    Mysql忘記密碼解決方法

    這篇文章主要給大家風(fēng)向的是Mysql忘記密碼解決方法,我們忘記mysql密碼時(shí),我們可以通過mysql的配置文件設(shè)置登錄不需要認(rèn)證就可以不需要密碼進(jìn)行登錄了,下面我們就進(jìn)入文章學(xué)習(xí)具體的解決方法吧
    2022-02-02
  • 5招帶你輕松優(yōu)化MySQL count(*)查詢性能

    5招帶你輕松優(yōu)化MySQL count(*)查詢性能

    最近在公司優(yōu)化了幾個(gè)慢查詢接口的性能,總結(jié)了一些心得體會拿出來跟大家一起分享一下,文中的示例代碼講解詳細(xì),希望對大家會有所幫助
    2022-11-11
  • MySQL中exists、in及any的基本用法

    MySQL中exists、in及any的基本用法

    這篇文章主要給大家介紹了關(guān)于MySQL中exists、in及any的基本用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Centos 7 安裝mysql5.7.24二進(jìn)制 版本的方法及解決辦法

    Centos 7 安裝mysql5.7.24二進(jìn)制 版本的方法及解決辦法

    這篇文章主要介紹了Centos 7 安裝mysql5.7.24二進(jìn)制 版本的方法 及遇到問題解決辦法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • MySQL中UNION與UNION ALL的基本使用方法

    MySQL中UNION與UNION ALL的基本使用方法

    這篇文章主要給大家介紹了關(guān)于MySQL中UNION與UNION ALL的基本使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評論