SQL Server表的連線類型

來源:互聯網
上載者:User

標籤:join   匹配   inner   sch   之間   相同   .com   表之間   返回   

1、內聯結(典型的聯結運算,使用像 = 或 <> 之類的比較子)。包括相等聯結和自然聯結。
內聯結使用比較子根據每個表共有的列的值匹配兩個表中的行。例如,檢索 students和courses表中學生標識號相同的所有行。

2、外聯結。外聯結可以是左向外聯結、右向外聯結或完整外部聯結。
在 FROM子句中指定外聯結時,可以由下列幾組關鍵字中的一組指定:

1)LEFT JOIN或LEFT OUTER JOIN
左向外聯結的結果集包括 LEFT OUTER子句中指定的左表的所有行,而不僅僅是聯結列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有挑選清單列均為空白值。

2)RIGHT JOIN 或 RIGHT OUTER JOIN
右向外聯結是左向外聯結的反向聯結。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
3)FULL JOIN 或 FULL OUTER JOIN
完整外部聯結返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的挑選清單列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。

3、交叉聯結
交叉聯結返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯結也稱作笛卡爾積。
例子:
A表
B表
內串連:
在表A和表B中使用內串連查詢學生姓名,學校,和職業
語句一:使用where子句
selcet A.name,A.school,B.name,B.job from A,B where A.name=B.name
或者:使用 INNER JOIN.....ON 子句
select A.name,A,school,B.name,B.job from A inner join B on A.name=B.name
結果

外串連:
左外串連:
select A.name,A.school,B.name,B.job from A left join B on A.name=B.name
結果

 右外串連:          select  A.name,A.school,B.name,B.job  from  A right join B  on A.name=B.name    結果

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.