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

Mysql中l(wèi)eft join、right join和inner join(join)的區(qū)別及說明

 更新時間:2024年10月24日 10:24:23   作者:APTX_869  
本文介紹了leftjoin、rightjoin和innerjoin的區(qū)別和使用場景,以圖文形式輔以實例講解,幫助讀者清晰理解三種SQL連接查詢的特點和應(yīng)用

前言

最近發(fā)現(xiàn)有很多小伙伴對于left join、right join和inner join(join)的區(qū)別不是很清楚,在項目中不管什么情況都一個left join去處理,可能有些時候會造成數(shù)據(jù)的冗余或者數(shù)據(jù)的不準(zhǔn)確。

所以下面我就以圖文的形式講解一下這三者的區(qū)別。

首先上圖,可能基礎(chǔ)強一點的小伙伴只需要這一張圖就可以很清楚很直觀的理解各種join的區(qū)別:

如果看完這張圖,還是一頭霧水,一張黑人問號臉并且心里想的是這都什么和什么?

我知道你有點著急了,但是你先別急,繼續(xù)往下看,下面我會用三個連接的實例讓大家更好的理解三者的區(qū)別。 

首先創(chuàng)建兩張表:subject(科目表)、score(成績表)

那么接下來我們分別來看一下這三個join的區(qū)別:

1、Left Join

顧名思義,就是左連接的意思,且數(shù)據(jù)以左表為主去關(guān)聯(lián)右表的數(shù)據(jù),查詢出的數(shù)據(jù)為左表所有符合條件的數(shù)據(jù)和右表中與左表有交集的數(shù)據(jù),如果右表中沒有與左表匹配的數(shù)據(jù),則結(jié)果集中將用Null去補全。

下面看示例:

SELECT
	* 
FROM
	`subject`
	LEFT JOIN score ON `subject`.id = score.id 

結(jié)果集如下:

2、Right Join

右連接,跟左連接查詢的結(jié)果恰好相反,右連接是以右表為主去關(guān)聯(lián)左表的數(shù)據(jù),查詢出的數(shù)據(jù)為右表所有符合條件的數(shù)據(jù)和左表中與右表有交集的數(shù)據(jù),如果左表中沒有與右表匹配的數(shù)據(jù),則結(jié)果集中將用Null補全。

下面看示例:

SELECT
	* 
FROM
	`subject`
	RIGHT JOIN score ON `subject`.id = score.id

結(jié)果集如下:

3、Join(Inner Join)

join其實就是inner join 只是簡寫而已,那么inner join顧名思義就是內(nèi)連接的意思,查詢的數(shù)據(jù)是兩個表的交集。

下面看示例:

SELECT
	* 
FROM
	`subject`
	INNER JOIN score ON `subject`.id = score.id

結(jié)果集如下:

總結(jié)

以上就是三種連接的區(qū)別,不知道各位小伙伴看完之后是不是對于三種連接有了更深刻的認(rèn)識和理解,從一開始的"這都什么和什么?“轉(zhuǎn)變成"原來是這樣啊~”,那么搞懂了之后在項目開發(fā)過程中就可以更靈活的去使用三個連接而不是只用一個left join碼遍天下了!

這些為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 修改MYSQL密碼的幾種常用方法總結(jié)

    修改MYSQL密碼的幾種常用方法總結(jié)

    以下是對修改MYSQL密碼的幾種常用方法進行了總結(jié)介紹,需要的朋友可以過來參考下
    2013-08-08
  • 詳解如何用SQL取出字段內(nèi)是json的數(shù)據(jù)

    詳解如何用SQL取出字段內(nèi)是json的數(shù)據(jù)

    數(shù)據(jù)庫中會遇到字段里面存的JSON結(jié)果的數(shù)據(jù),那么如果我們想直接取到JSON里的值該怎么辦呢?其實SQL自帶的函數(shù)就可解決本文就詳細(xì)的給大家介紹了如何用SQL取出字段內(nèi)是json的數(shù)據(jù),需要的朋友可以參考下
    2023-10-10
  • mysql視圖的學(xué)習(xí)和使用方式

    mysql視圖的學(xué)習(xí)和使用方式

    這篇文章主要介紹了mysql視圖的學(xué)習(xí)和使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2016-09-09
  • 刪庫跑路?使用xtraback備份MySQL數(shù)據(jù)庫的方法

    刪庫跑路?使用xtraback備份MySQL數(shù)據(jù)庫的方法

    mysqldump備份方式是采用邏輯備份,最大的缺陷就是備份和恢復(fù)的速度都慢,這時候就需要一種很好用又高效的工具,xtraback 就是其中的一款,號稱免費版的innodb hotbackup。接下來通過本文給大介紹使用xtraback備份MySQL數(shù)據(jù)庫的方法,感興趣的朋友一起看看吧
    2018-10-10
  • 全面了解MySql中的事務(wù)

    全面了解MySql中的事務(wù)

    下面小編就為大家?guī)硪黄媪私釳ySql中的事務(wù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • MySQL中使用innobackupex、xtrabackup進行大數(shù)據(jù)的備份和還原教程

    MySQL中使用innobackupex、xtrabackup進行大數(shù)據(jù)的備份和還原教程

    這篇文章主要介紹了MySQL中使用innobackupex、xtrabackup進行大數(shù)據(jù)的備份和還原教程,xtrabackup用來對超過10G數(shù)據(jù)的Mysql進行備份和還原任務(wù),需要的朋友可以參考下
    2014-09-09
  • windows下mysql 8.0.15 詳細(xì)安裝使用教程

    windows下mysql 8.0.15 詳細(xì)安裝使用教程

    這篇文章主要為大家詳細(xì)介紹了windows下mysql 8.0.15 詳細(xì)安裝使用教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Mysql存儲二進制對象數(shù)據(jù)問題

    Mysql存儲二進制對象數(shù)據(jù)問題

    這篇文章主要介紹了Mysql存儲二進制對象數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MySQL實現(xiàn)差集(Minus)和交集(Intersect)測試報告

    MySQL實現(xiàn)差集(Minus)和交集(Intersect)測試報告

    MySQL沒有實現(xiàn)Minus和Intersect功能,就像它也沒有實現(xiàn)cube的功能一樣。
    2014-06-06
  • 為什么代碼規(guī)范要求SQL語句不要過多的join

    為什么代碼規(guī)范要求SQL語句不要過多的join

    SQL中的join可以根據(jù)某些條件把指定的表給結(jié)合起來并將數(shù)據(jù)返回給客戶端,那么在項目開發(fā)中如果需要使用join語句,如何優(yōu)化提升性能?本文就來詳細(xì)的介紹一下
    2021-06-06

最新評論