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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql多表查询之一:Where 和 On的秘密

發(fā)布時間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql多表查询之一:Where 和 On的秘密 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文?sql多表查詢之一:Where 和 On的秘密

對于還在SQL初級階段的朋友來說,sql多表查詢問題是一個比較有趣也容易出錯的技術。什么時候會用到sql多表查詢呢?是在兩張或兩張以上表單中通過某幾個字段進行互聯(lián)管理的時候,這就不得不說說sql多表查詢中Where 和 On的秘密。

?

在了解sql多表查詢中Where 和 On的秘密之前,讓我們先來溫習一下連接基礎吧


按列a把兩表連接,請問各種連接方式的結果的結果?

語法呢?

左??? select * from @a Aa left join @b Bb on Aa.a=Bb.a

右??? select * from @a Aa right join @b Bb on Aa.a=Bb.a

內(nèi)??? select * from @a Aa join @b Bb on Aa.a=Bb.a

完全?????? select * from @a Aa full join @b Bb on Aa.a=Bb.a

迪卡爾??? select * from @a,@b

是不是很簡單呢,接下來我們來看sql多表查詢中Where 和 On的秘密:)

?

大家想想,依據(jù)下表

下面語句出來的結果是什么?

?

select * from @a _a left join @b _b on _a.id=_b.id where _b.name=1

select * from @a _a left join @b _b on _a.id=_b.id and _b.name=1

先想想,再看結果吧^_*

sql多表查詢中Where?和 On的秘密在SQLserver 中的執(zhí)行順序是: 先join后where

所以,當條件寫在where里,結果如下:

條件寫在on里,結果如下:

Where 和 On是不是很有趣,你也試試吧!

?

下一個

請說出下面語句各返回多少記錄

select * from @a a left join @b b on a.id=b.id where a.id=1

select * from @a a left join @b b on a.id=b.id and b.id=1

select * from @a a left join @b b on a.id=b.id and a.id=1

select * from @a a left join @b b on a.id=1

先想想,再看答案:P

—??????? select * from @a a left join @b b on a.id=b.id where a.id=1

?

—??????? 原因是先執(zhí)行連接條件,再執(zhí)行where部分,所以只有1條記錄

?

—??????? select * from @a a left join @b b on a.id=b.id and b.id=1

?

—??????? 原因是滿足a.id=b.id and a.id=1 條件的只有一條,但left join是對沒有附和條件的加null處理,所以最后結果是3條

?

—??????? select * from @a a left join @b b on a.id=b.id and a.id=1

?

—??????? 原因是滿足a.id=b.id and a.id=1 條件的只有一條,但left join是對沒有附和條件的加null處理,所以最后結果是3條

?

—??????? select * from @a a left join @b b on a.id=1

?

—??????? 原因是在做完迪卡爾后,滿足a.id=1 條件的有3條,但left join是對沒有附和條件的加null處理,所以最后結果是5條

總結

以上是生活随笔為你收集整理的sql多表查询之一:Where 和 On的秘密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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