日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL语句值left join,right join,inner join的用法

發(fā)布時間:2023/12/18 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL语句值left join,right join,inner join的用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sql語句中兩表連結(jié)方式主要有一下3中,需要注意的時在進(jìn)行多表連結(jié)的時候必須要用 on 指定表中的某個字段作為連結(jié)的條件

left join(左聯(lián)接) 返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄 -----結(jié)果集的條目數(shù)以左表為準(zhǔn)
right join(右聯(lián)接) 返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄------結(jié)果集的條目數(shù)以右表為準(zhǔn)
inner join(等值連接) 只返回兩個表中聯(lián)結(jié)字段相等的行------結(jié)果集的條目數(shù)為聯(lián)結(jié)字段相等的行數(shù)


看一下例子

Table_1

1??????? ??? ?t1?????? ??? ?張三?????? ??? ?男??????? ?
2??????? ??? ?t1?????? ??? ?小白?????? ??? ?女??????? ?
3??????? ??? ?t1?????? ??? ?王子?????? ??? ?男??????? ?
4??????? ??? ?t1?????? ??? ?王小?????? ??? ?女??????? ?
5??????? ??? ?t1?????? ??? ?李白?????? ??? ?男??????? ?
6??????? ??? ?t1?????? ??? ?趙虎?????? ??? ?男??????? ?
7??????? ??? ?t1?????? ??? ?張果?????? ??? ?女????????


-----------------------------------------------------------------------------------------

Table_2

1??????? ??? ?t2?????? ??? ?王五?????? ?
2??????? ??? ?t2?????? ??? ?小五?????? ?
4??????? ??? ?t2?????? ??? ?王五?????? ?
5??????? ??? ?t2?????? ??? ?趙雪?????? ?
8??????? ??? ?t2?????? ??? ?張龍???????
??

------------------------------------------------------------------------------------------

left join

select * from Table_1 left join Table_2 on Table_1.ID = Table_2.ID

結(jié)果是:

1??????? ??? ?t1?????? ??? ?張三?????? ??? ?男??????? ??? ?1??????? ??? ?t2?????? ??? ?王五?????? ?
2??????? ??? ?t1?????? ??? ?小白?????? ??? ?女??????? ??? ?2??????? ??? ?t2?????? ??? ?小五?????? ?
3??????? ??? ?t1?????? ??? ?王子?????? ??? ?男??????? ??? ?NULL?? ?NULL?? ?NULL
4??????? ??? ?t1?????? ??? ?王小?????? ??? ?女??????? ??? ?4??????? ??? ?t2?????? ??? ?王五?????? ?
5??????? ??? ?t1?????? ??? ?李白?????? ??? ?男??????? ??? ?5??????? ??? ?t2?????? ??? ?趙雪?????? ?
6??????? ??? ?t1?????? ??? ?趙虎?????? ??? ?男??????? ??? ?NULL?? ?NULL?? ?NULL
7??????? ??? ?t1?????? ??? ?張果?????? ??? ?女??????? ??? ?NULL?? ?NULL?? ?NULL

--------------------------------------------------------------------------------------------

right join

SELECT * FROM Table_1 right join Table_2 on Table_1.ID = Table_2.ID

結(jié)果是:

1??????? ??? ?t1?????? ??? ?張三?????? ??? ?男??????? ??? ?1??????? ??? ?t2?????? ??? ?王五?????? ?
2??????? ??? ?t1?????? ??? ?小白?????? ??? ?女??????? ??? ?2??????? ??? ?t2?????? ??? ?小五?????? ?
4??????? ??? ?t1?????? ??? ?王小?????? ??? ?女??????? ??? ?4??????? ??? ?t2?????? ??? ?王五?????? ?
5??????? ??? ?t1?????? ??? ?李白?????? ??? ?男??????? ??? ?5??????? ??? ?t2?????? ??? ?趙雪?????? ?
NULL?? ?? NULL?? ?? NULL?? ????? NULL?? ? ? ? 8??????? ??? ?t2?????? ??? ?張龍???????

--------------------------------------------------------------------------------------------

inner join

select * from Table_1 inner join Table_2 on Table_1.ID=Table_2.ID

結(jié)果是:

1??????? ??? ?t1?????? ??? ?張三?????? ??? ?男??????? ??? ?1??????? ??? ?t2?????? ??? ?王五?????? ?
2??????? ??? ?t1?????? ??? ?小白?????? ??? ?女??????? ??? ?2??????? ??? ?t2?????? ??? ?小五?????? ?
4??????? ??? ?t1?????? ??? ?王小?????? ??? ?女??????? ??? ?4??????? ??? ?t2?????? ??? ?王五?????? ?
5??????? ??? ?t1?????? ??? ?李白?????? ??? ?男??????? ??? ?5??????? ??? ?t2?????? ??? ?趙雪???????

----------------------------------------------------------------------------------------------

?總結(jié):left join與right join 的區(qū)別主要是在于基礎(chǔ)表是左表還是右表,對于不滿足基礎(chǔ)表聯(lián)結(jié)字段的行將會有null填充 ??

?語法:from Table_1 LEFT JOIN Table_2 ON Table_1.columnName compopr Table_2.columnName
columnName必須有相同的數(shù)據(jù)類型及包含相同類型的數(shù)據(jù),但它們不需要有相同的名稱。
compopr指定的運(yùn)算符有:"=", "<", ">", "<=", ">=" 或 "<>"

----------------------------------------------------------------------------------------------

這次先分享到這里,有不完整之處還請廣大網(wǎng)友進(jìn)行補(bǔ)充,過段時間再分享多表聯(lián)結(jié)查詢不重復(fù)的數(shù)據(jù)

總結(jié)

以上是生活随笔為你收集整理的SQL语句值left join,right join,inner join的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。