日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SQL Server數據庫連接查詢的種類及其應用

瀏覽:241日期:2023-11-05 18:20:59

在數據庫開發方面,通過單表所表現的實現,有時候需要組合查詢來找到我們需要的記錄集,這時候我們就會用到連接查詢。

連接查詢主要包括以下幾個方面:

內連接

內連接一般是我們最常使用的,也叫自然連接,是用比較運算符比較要聯接列的值的聯接。它是通過(INNER JOIN或者JOIN)關鍵字把多表進行連接。我們通過建立兩個表來說明問題:

StudentID StudentName StudentAge

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

1 張三 25

2 李四 26

3 王五 27

4 趙六 28

5 無名氏 27

以上是表Student,存放學生基本信息。

BorrowBookID BorrowBookName StudentID BorrowBookPublish

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

1 馬克思主義政治經濟學 1 電子工業出版社

2 毛澤東思想概論 2 高等教育出版社

3 鄧小平理論 3 人民郵電出版社

4 大學生思想道德修養 4 中國鐵道出版社

5 C語言程序設計 NULL 高等教育出版社

以上是表BorrowBook,存放學生所借的書。

以上兩張表是通過StudentID進行關聯,在這里先執行內聯連語句:

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

From Student

Inner Join BorrowBook

On Student.StudentID = BorrowBook.StudentID

上面這個語句也可以寫成

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

FROM Student,BorrowBook

WHERE Student.StudentID = BorrowBook.StudentID

其中,Inner Join是SQL Server的缺省連接,可簡寫為Join。在Join后面指定具體的表作連接。On后面指定了連接的條件。

運行的結果如下:

tudentName StudentAge BorrowBookName BorrowBookPublish

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

張三 25 馬克思主義政治經濟學 電子工業出版社

李四 26 毛澤東思想概論 高等教育出版社

王五 27 鄧小平理論 人民郵電出版社

趙六 28 大學生思想道德修養 中國鐵道出版社

(所影響的行數為 4 行)

根據查詢的結果來進行分析:

如果多個表要做連接,那么這些表之間必然存在著主鍵和外鍵的關系。所以需要將這些鍵的關系列出,就可以得出表連接的結果。在上例中,StudentID是Student表的主鍵,StudentID又是BorrowBook表的外鍵,這兩個表的連接條件就是Student.StudentID = BorrowBook.StudentID,對比查詢結果可以得知,內連接查詢只查詢出主鍵StudentID在另張表中存在的記錄,像Student表中的第五條記錄,因為在BorrowBook表中StudentID不存在,像BorrowBook表中的第五條記錄StudentID為Null,對應的Student表中沒有記錄,所以就不會顯示。所以內連接就是將參與的數據表中的每列與其它數據表的列相匹配,形成臨時數據表,并將滿足數據項相等的記錄從臨時數據表中選擇出來。

內連接查詢操作列出與連接條件匹配的數據行,它使用比較運算符比較被連接列的列值。內連接分三種:

1) 等值連接:在連接條件中使用等于號(=)運算符比較被連接列的列值,其查詢結果中列出被連接表中的所有列,包括其中的重復列。

2) 不等連接: 在連接條件使用除等于運算符以外的其它比較運算符比較被連接的列的列值。這些運算符包括> 、> =、 <=、 <、!> 、! <和 <> 。

3) 自然連接:在連接條件中使用等于(=)運算符比較被連接列的列值,但它使用選擇列表指出查詢結果集合中所包括的列,并刪除連接表中的重復列。

例如對于用不等值連接語句:

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

From Student

Inner Join BorrowBook

On Student.StudentID <> BorrowBook.StudentID

StudentName StudentAge BorrowBookName BorrowBookPublish

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

李四 26 馬克思主義政治經濟學 電子工業出版社

王五 27 馬克思主義政治經濟學 電子工業出版社

趙六 28 馬克思主義政治經濟學 電子工業出版社

無名氏 27 馬克思主義政治經濟學 電子工業出版社

張三 25 毛澤東思想概論 高等教育出版社

王五 27 毛澤東思想概論 高等教育出版社

趙六 28 毛澤東思想概論 高等教育出版社

無名氏 27 毛澤東思想概論 高等教育出版社

張三 25 鄧小平理論 人民郵電出版社

李四 26 鄧小平理論 人民郵電出版社

趙六 28 鄧小平理論 人民郵電出版社

無名氏 27 鄧小平理論 人民郵電出版社

張三 25 大學生思想道德修養 中國鐵道出版社

李四 26 大學生思想道德修養 中國鐵道出版社

王五 27 大學生思想道德修養 中國鐵道出版社

無名氏 27 大學生思想道德修養 中國鐵道出版社

它就會把兩表所對應不相等的記錄給查詢出來了。

外連接

外連接主要包括左連接、右連接和完整外部連接。

1)左連接:Left Join 或 Left Outer Join

左連接的結果集包括LEFT OUTER子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值(Null)。

我們看對應的SQL語句:

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

From Student

Left JOIN BorrowBook

On Student.StudentID = BorrowBook.StudentID

運行的結果如下:

StudentName StudentAge BorrowBookName BorrowBookPublish

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

張三 25 馬克思主義政治經濟學 電子工業出版社

李四 26 毛澤東思想概論 高等教育出版社

王五 27 鄧小平理論 人民郵電出版社

趙六 28 大學生思想道德修養 中國鐵道出版社

無名氏 27 NULL NULL

(所影響的行數為 5 行)

可以看到的是,它查詢的結果是以左表Student為主,Student對應的StudentID在右表BorrowBook如果不存在的話,就會用NULL值來代替。

2) 右連接:Right Join 或 Right Outer Join

右連接和左連接相反,它將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值(Null)。

我們看對應的SQL語句

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

From Student

Right JOIN BorrowBook

On Student.StudentID = BorrowBook.StudentID

運行的結果如下:

StudentName StudentAge BorrowBookName BorrowBookPublish

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

張三 25 馬克思主義政治經濟學 電子工業出版社

李四 26 毛澤東思想概論 高等教育出版社

王五 27 鄧小平理論 人民郵電出版社

趙六 28 大學生思想道德修養 中國鐵道出版社

NULL NULL C語言程序設計 高等教育出版社

(所影響的行數為 5 行)

可以看到的是,它查詢的結果是以右表BorrowBook為主,BorrowBook對應的StudentID在左表Student如果不存在的話,就會用NULL值來代替。

3) 完整外部聯接:Full Join 或 Full Outer Join

完整外部聯接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的數據值。

我們看對應的SQL語句

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

From Student

FULL OUTER JOIN BorrowBook

On Student.StudentID = BorrowBook.StudentID

結果如下:

StudentName StudentAge BorrowBookName BorrowBookPublish -------------------

NULL NULL C語言程序設計 高等教育出版社

張三 25 馬克思主義政治經濟學 電子工業出版社

李四 26 毛澤東思想概論 高等教育出版社

王五 27 鄧小平理論 人民郵電出版社

趙六 28 大學生思想道德修養 中國鐵道出版社

無名氏 27 NULL NULL

(所影響的行數為 6 行)

可以看到的是,它查詢的結果除了把相對應完全匹配的記錄查出來以后,還會把左連接及右連接兩種情形都包括,對應的值用NULL值來代替。

交叉連接

交叉連接(CROSS JOIN),就是指不帶W H E R E子句的查詢。在數學上,就是表的笛卡爾積。也就是它查詢出來的記錄數行為兩個表的乘積,對應記錄也就是為表A*表B。

我們看對應的SQL語句

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

From Student Cross Join BorrowBook

運行的結果如下:

StudentName StudentAge BorrowBookName BorrowBookPublish

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

張三 25 馬克思主義政治經濟學 電子工業出版社

李四 26 馬克思主義政治經濟學 電子工業出版社

王五 27 馬克思主義政治經濟學 電子工業出版社

趙六 28 馬克思主義政治經濟學 電子工業出版社

無名氏 27 馬克思主義政治經濟學 電子工業出版社

張三 25 毛澤東思想概論 高等教育出版社

李四 26 毛澤東思想概論 高等教育出版社

王五 27 毛澤東思想概論 高等教育出版社

趙六 28 毛澤東思想概論 高等教育出版社

無名氏 27 毛澤東思想概論 高等教育出版社

張三 25 鄧小平理論 人民郵電出版社

李四 26 鄧小平理論 人民郵電出版社

王五 27 鄧小平理論 人民郵電出版社

趙六 28 鄧小平理論 人民郵電出版社

無名氏 27 鄧小平理論 人民郵電出版社

張三 25 大學生思想道德修養 中國鐵道出版社

李四 26 大學生思想道德修養 中國鐵道出版社

王五 27 大學生思想道德修養 中國鐵道出版社

趙六 28 大學生思想道德修養 中國鐵道出版社

無名氏 27 大學生思想道德修養 中國鐵道出版社

張三 25 C語言程序設計 高等教育出版社

李四 26 C語言程序設計 高等教育出版社

王五 27 C語言程序設計 高等教育出版社

趙六 28 C語言程序設計 高等教育出版社

無名氏 27 C語言程序設計 高等教育出版社

(所影響的行數為 25 行)

可以看到的是,它把表Student中的每一行和BorrowBook中的每一條記錄都進行關聯,返回的記錄數為5*5=25行,即笛卡爾積,它執行的語句也就等效于

Select Student.StudentName,Student.StudentAge,BorrowBook.BorrowBookName,BorrowBook.BorrowBookPublish

From Student,BorrowBook

標簽: Sql Server 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品视频一区二区三区综合| 91视频精品| 深夜视频一区二区| 日韩欧美一区免费| 日韩欧美精品一区| 亚洲特级毛片| 伊人精品一区| 亚洲综合不卡| 日韩国产在线一| 麻豆91在线播放| 久久精品卡一| 综合欧美精品| 国产精品一区二区av日韩在线| 国产黄色精品| 日韩在线视频精品| 亚洲激情国产| 日本h片久久| 精品淫伦v久久水蜜桃| 久久久久网站| 亚洲区国产区| 成人在线视频区| 亚洲天堂黄色| 日韩精品视频网站| 国产一区二区三区日韩精品 | 日本久久黄色| 91亚洲自偷观看高清| 不卡视频在线| 欧美中文一区| 亚洲天堂资源| 亚洲日本三级| 国产一区精品福利| 六月婷婷一区| 国产伊人久久| 久久aⅴ国产紧身牛仔裤| 日韩1区2区3区| 亚洲性色av| 日本视频中文字幕一区二区三区| 麻豆91精品91久久久的内涵| 91久久亚洲| 狂野欧美性猛交xxxx| 99精品综合| 国产欧美激情| 九一国产精品| 精品理论电影在线| 中文字幕免费一区二区| 美女网站视频一区| 欧美国产中文高清| 蜜桃av一区| 日韩精品永久网址| 日本aⅴ亚洲精品中文乱码| 亚洲二区在线| 精品国产亚洲一区二区三区在线 | 美女福利一区二区三区| 综合激情婷婷| 蜜桃tv一区二区三区| 精品免费在线| 美女免费视频一区| 国产欧美一区二区三区精品酒店| 91嫩草亚洲精品| 精品国产亚洲日本| 亚洲人www| 在线观看亚洲精品福利片| 国产精品永久| 日韩精品一二区| 日韩久久电影| 久久精品资源| 欧美自拍一区| 亚洲区国产区| 亚洲自拍另类| 国产一区日韩欧美| 国产一区一一区高清不卡| 国产欧美三级| 日韩精品成人| 先锋影音国产一区| 激情综合自拍| 岛国av在线播放| 精品三区视频| 美国欧美日韩国产在线播放| 久久久久久黄| 樱桃视频成人在线观看| 国产精品一级| 日韩电影免费在线观看| 日韩专区视频网站| 日韩精品一区二区三区中文字幕| 日韩欧美四区| 成人av二区| 欧美91在线| 欧美日韩 国产精品| 日本v片在线高清不卡在线观看| 香蕉久久夜色精品国产| 欧美另类专区| 99香蕉国产精品偷在线观看| yellow在线观看网址| 国模精品一区| 97在线精品| 日韩成人三级| 99精品电影| 欧美日韩激情在线一区二区三区| 久久青草久久| 中文字幕av一区二区三区人| 婷婷成人av| 日日摸夜夜添夜夜添国产精品| 亚洲精品乱码久久久久久蜜桃麻豆 | 日韩一区二区三区在线看| 亚洲天堂免费| 影音先锋久久精品| 亚洲人成亚洲精品| 青青国产91久久久久久| 欧美国产日韩电影| 日韩国产综合| 欧美日韩国产欧| 亚洲精选成人| 国产精品亚洲综合久久| 美女久久99| 亚洲va中文在线播放免费| 婷婷丁香综合| 中文字幕av一区二区三区四区| 欧美亚洲自偷自偷| 精品亚洲二区| 日本欧美不卡| 丝袜av一区| 麻豆精品网站| 国产精品久久777777毛茸茸| 国产99在线| 国产精品普通话对白| 日韩国产在线观看一区| 久久字幕精品一区| 久久久久国产一区二区| 久久午夜视频| 久久亚洲道色| 欧美va天堂在线| 日韩免费精品| 老牛国内精品亚洲成av人片 | 九九九精品视频| 亚洲一级特黄| 亚洲综合中文| 国产一区二区三区四区五区 | 国产一区二区三区亚洲综合| 欧美午夜精彩| 日本特黄久久久高潮| 亚洲黄色中文字幕| 免费精品视频最新在线| 鲁大师精品99久久久| 亚洲欧洲日本mm| 97久久亚洲| av亚洲一区二区三区| 日本不卡中文字幕| 欧美成人基地| 日韩欧美中文字幕在线视频| 日韩欧美视频专区| 日韩黄色在线观看| 婷婷成人综合| 欧美精品国产一区| 在线日韩一区| 国产激情久久| 喷白浆一区二区| 三上亚洲一区二区| 国产精品婷婷| 日本一区二区免费高清| 午夜在线视频一区二区区别 | 免费观看久久av| 国产精品国码视频| 欧美精品一区二区久久| 久久伊人国产| 婷婷视频一区二区三区| 国产一区日韩欧美| 国产一区国产二区国产三区| 少妇精品久久久一区二区 | 国产v日韩v欧美v| 97精品久久| 国产美女精品| 热三久草你在线| 久久国产欧美日韩精品| 蜜桃免费网站一区二区三区| 日韩久久电影| 国产在线一区不卡| 国产欧美日韩在线观看视频| 久久亚洲视频| 九九综合在线| 久久人人99| 国产成人精选| 欧美国产免费| 免费观看在线综合| 国内精品福利| 日韩黄色大片网站| 美女视频一区在线观看| 免费在线观看成人| 欧美.日韩.国产.一区.二区 | 久久久久久色| 国产亚洲福利| 精品久久福利| 国产一精品一av一免费爽爽| 亚洲综合不卡| 好吊视频一区二区三区四区| 久久久人人人| 久久高清免费| 欧美一区久久久| 国产精品久一| 日韩av不卡在线观看| 日韩午夜视频在线|