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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

内连接(INNER JOIN)

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内连接(INNER JOIN) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

9.3.3? 內連接(INNER JOIN)

內連接也稱為等同連接,返回的結果集是兩個表中所有相匹配的數據,而舍棄不匹配的數據。也就是說,在這種查詢中,DBMS只返回來自源表中的相關的行,即查詢的結果表包含的兩源表行,必須滿足ON子句中的搜索條件。作為對照,如果在源表中的行在另一表中沒有對應(相關)的行,則該行就被過濾掉,不會包括在結果表中。內連接使用比較運算符來完成。內連接可分為兩種。

1.等值連接

使用等于號(=)比較被連接列的列值,在查詢結果中列出被連接表中的所有列,包括其中的重復列。圖9.12給出了典型的等值內連接示意圖。

?
圖9.12? 等值內連接

實例8? 使用INNER JOIN內連接查詢

從STUDENT表和TEACHER表中查詢學生姓名、所在系、所修的所有課程的課程號以及開課教師姓名。在9.3.2節已經通過WHERE子句實現了該實例,這里通過INNER JOIN內連接兩表來實現。實例代碼:

SELECT????? ?SNAME, S.DNAME, S.CNO, TNAME
FROM??? ??STUDENT AS S
INNER JOIN ?TEACHER AS T
ON ???S. CNO = T. CNO
ORDER BY??SNAME

運行結果如圖9.13所示。

?
圖9.13? 使用INNER JOIN實現的查詢結果

可以看到,通過INNER JOIN內連接兩表也得到了同樣的結果。

2.不等連接

在連接條件中,可以使用其他比較運算符,比較被連接的列的列值。這些運算符包括>、>=、<=、<、!>、!<和<>。

實例9? 使用不等連接進行查詢

查詢學生修的非本系教師開設的課程信息,包括學生學號、姓名、所在系、課程號、成績、以及開課教師的姓名信息。實例代碼:

SELECT??? ?S.SNO, SNAME, S. DNAME, S.CNO, MARK, TNAME
FROM??? ??STUDENT AS S
INNER JOIN ?TEACHER AS T
ON ???S. DNAME<> T. DNAME
AND???S. CNO =T. CNO
ORDER BY??? ?SNAME

運行結果如圖9.14所示。

?
圖9.14? 不等連接的查詢結果

說明?在默認情況下,DBMS將多表查詢按INNER JOIN來執行,除非指定OUTER JOIN。即,如果將上例中的INNER JOIN關鍵字替換為JOIN也會得到同樣的結果。


當然也可以使用WHERE子句實現上例。代碼如下。

SELECT ??S.SNO, SNAME, S. DNAME, S.CNO, MARK, TNAME
FROM ??STUDENT AS S, TEACHER AS T
WHERE??S.DNAME <> T.DNAME
AND???S.CNO = T.CNO
ORDER BY??? ?SNAME

運行結果如圖9.15所示。

當然,使用INNER JOIN也可以實現多表的內連接,但是INNER JOIN一次只能連接兩個表,要連接多表,必須進行多次連接。

?
圖9.15? 使用WHERE子句實現的不等連接

實例10? 使用INNER JOIN實現多表的內連接

根據TEACHER表、COURSE表和STUDENT表,查詢所有學生的姓名、所在系、所修課程、考試時間、課程成績及授課教師姓名。該列與9.2.3節的實例完全相同,只是在9.2.3節采用WHERE子句的方式實現,這里采用INNER JOIN內連接的方式實現,代碼如下。

SELECT ??SNAME, STUDENT.DNAME, CNAME, CTEST, MARK, TNAME
FROM ??TEACHER
INNER JOIN ?COURSE
ON? ???TEACHER.CNO = COURSE.CNO
INNER JOIN ?STUDENT
ON? ???TEACHER.CNO = STUDENT.CNO
ORDER BY??? ?SNAME

運行結果如圖9.16所示。

?
圖9.16? 使用INNER JOIN實現內連接查詢結果

總結

以上是生活随笔為你收集整理的内连接(INNER JOIN)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。