SQL Server內串連、外串連、交叉串連

來源:互聯網
上載者:User

標籤:

前言

 

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

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

 

串連方式

 

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

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

 

內串連(inner join)

 

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

1、等值串連

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

2、不等串連

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

3、自然串連

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

 

外串連(outer join)

 

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

1、左串連

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

2、右串連

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

3、全串連

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

 

交叉串連(cross join)

 

交叉串連:也稱迪卡爾積

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

註:cross join後加條件只能用where,不能用on

SQL Server內串連、外串連、交叉串連

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.