SQL Server內連線 外連線 交叉連線

2022-01-16 08:10:02 字數 969 閱讀 8964

在資料庫查詢中,我們常常會用到的表連線查詢,而我自己在工作中也是時常用這些表連線查詢。而就在剛剛我卻還沒有搞清楚資料庫表連線到底有哪幾種,

這幾種表連線查詢方式又有什麼區別,實屬慚愧!藉以此文以謹記。

資料庫表連線查詢分三種:內連線、外連線、交叉連線

那下面我們就來分別說說這三種連線。

內連線又分為:等值連線、不等連線、自然連線

1、等值連線

我們在連線多表查詢時,連線條件中使用等號(=)運算子,其查詢結果中列出被連線表中的所有列,包括其中的重複列。

2、不等連線

我們在連線多表查詢時,在連線條件中使用除等號(=)之外運算子(>、<、<>、>=、<=、!>和!<)

3、自然連線

我們在連線多表查詢時,連線條件和等值連線相同,但是會刪除連線表中的重複列。

外連線分為:左連線(left join)或左外連線(left outer join)、右連線(right join)或右外連線(right outer join)、全連線(full join)或全外連線(full outer join)。

1、左連線

我們在連線多表查詢時,返回左表中的所有行,如果左表中行在右表中沒有匹配行,則結果中右表中的列返回空值。

2、右連線

我們在連線多表查詢時,恰與左連線相反,返回右表中的所有行,如果右表中行在左表中沒有匹配行,則結果中左表中的列返回空值。

3、全連線

我們在連線多表查詢時,返回左表和右表中的所有行。當某行在另一表中沒有匹配行,則另一表中的列返回空值。

交叉連線:也稱迪卡爾積

不帶where條件子句,它將會返回被連線的兩個表的笛卡爾積,返回結果的行數等於兩個錶行數的乘積,如果帶where,返回或顯示的是匹配的行數。

注:crossjoin後加條件只能用where,不能用on

內連線外連線

內連線 內連線也叫連線,是最早的一種連線,最早被稱為普通連線或自然連線。內連線是從結果中刪除其他被連線表中沒有匹配行的所有行,所以內連線可能會丟失資訊。內連線的語法 select fieldlist from table1 inner join table2 on table1.column tab...

SQL 內連線,外連線(左外連線 右外連線)

參考整理筆記 關鍵字 inner join on 語句 select from a table a inner join b table bon a.a id b.b id 執行結果 說明 組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集 陰影 部分。關鍵字 left join o...

Oracle外連線,左外連線,右外連線,內連線簡析

內連線即普通等值連線 select e.ename,e.job,e.sal,d.dname from emp e inner join dept d on e.deptno d.deptno where e.sal 2000 select e.ename e.job,e.sal d.dname fr...