欧美日韩一区二区三区四区不卡,日韩欧美视频一区二区三区四区,久久精品欧美一区二区三区不卡,国产精品久久久乱弄

咨詢電話:186 7916 6165 咨詢電話:186 7916 6165 (微信同號)    在線QQ:181796286
NEWS BLOG ·
學無止境
關注開優網絡 關注前沿
MSSQL在現有表中添加ID主鍵
Sql Server 出現此數據庫沒有有效所有者問題

SQL多表連接查詢

發表日期:2019-01-08    文章編輯:    瀏覽次數:4648    標簽:

表1:student  截圖如下:



表2:course  截圖如下:


(此時這樣建表只是為了演示連接SQL語句,當然實際開發中我們不會這樣建表,實際開發中這兩個表會有自己不同的主鍵。)

一、外連接

外連接可分為:左連接、右連接、完全外連接。

1、左連接  left join 或 left outer join

SQL語句:select * from student left join course on student.ID=course.ID //student.ID=course.ID 這里的兩個值是相同的

執行結果:



左外連接包含left join左表所有行,如果左表中某行在右表沒有匹配,則結果中對應行右表的部分全部為空(NULL).

注:此時我們不能說結果的行數等于左表數據的行數。當然此處查詢結果的行數等于左表數據的行數,因為左右兩表此時為一對一關系。

2、右連接  right join 或 right outer join

SQL語句:select * from student right join course on student.ID=course.ID

執行結果:



右外連接包含right join右表所有行,如果左表中某行在右表沒有匹配,則結果中對應左表的部分全部為空(NULL)。

注:同樣此時我們不能說結果的行數等于右表的行數。當然此處查詢結果的行數等于左表數據的行數,因為左右兩表此時為一對一關系。

3、完全外連接  full join 或 full outer join

SQL語句:select * from student full join course on student.ID=course.ID

執行結果:



完全外連接包含full join左右兩表中所有的行,如果右表中某行在左表中沒有匹配,則結果中對應行右表的部分全部為空(NULL),如果左表中某行在右表中沒有匹配,則結果中對應行左表的部分全部為空(NULL)。

二、內連接  join 或 inner join

SQL語句:select * from student inner join course on student.ID=course.ID

執行結果:



inner join 是比較運算符,只返回符合條件的行。

此時相當于:select * from student,course where student.ID=course.ID

三、交叉連接 cross join

1.概念:沒有 WHERE 子句的交叉聯接將產生連接所涉及的表的笛卡爾積。第一個表的行數乘以第二個表的行數等于笛卡爾積結果集的大小。

SQL語句:select * from student cross join course

執行結果:



如果我們在此時給這條SQL加上WHERE子句的時候比如SQL:select * from student cross join course where student.ID=course.ID

此時將返回符合條件的結果集,結果和inner join所示執行結果一樣。


主站蜘蛛池模板: 潞城市| 花莲县| 德江县| 邵东县| 阜阳市| 南郑县| 漯河市| 凌源市| 苗栗市| 专栏| 阿拉善盟| 青州市| 竹溪县| 鸡西市| 新沂市| 丹江口市| 观塘区| 凤山县| 高安市| 景谷| 周口市| 赤峰市| 科技| 塘沽区| 安陆市| 张北县| 钟祥市| 铜鼓县| 肇庆市| 冀州市| 东台市| 永嘉县| 清新县| 美姑县| 隆德县| 岑巩县| 龙里县| 杭州市| 吴桥县| 城口县| 龙岩市|