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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

SQL:OUTER JOIN使用方法具体解释

發(fā)布時(shí)間:2023/12/13 综合教程 30 生活家
生活随笔 收集整理的這篇文章主要介紹了 SQL:OUTER JOIN使用方法具体解释 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL--JOIN使用方法

外聯(lián)接。

外聯(lián)接能夠是左向外聯(lián)接、右向外聯(lián)接或完整外部聯(lián)接
在 FROM 子句中指定外聯(lián)接時(shí),能夠由下列幾組keyword中的一組指定:

LEFT JOIN 或 LEFT OUTER JOIN。


左向外聯(lián)接的結(jié)果集包含 LEFT OUTER 子句中指定的匹配條件的行左表的全部行

RIGHT JOIN 或 RIGHT OUTER JOIN。


右向外聯(lián)接是左向外聯(lián)接的反向聯(lián)接。將返回匹配條件的行右表的全部行

FULL JOIN 或 FULL OUTER JOIN。
完整外部聯(lián)接返回左表和右表中的全部行。當(dāng)某行在還有一個(gè)表中沒有匹配行時(shí)。則還有一個(gè)表的選擇列表列包括空值。

假設(shè)表之間有匹配行,則整個(gè)結(jié)果集行包括基表的數(shù)據(jù)值。

內(nèi)聯(lián)接僅 當(dāng)至少有一個(gè)同屬于兩表的行符合聯(lián)接條件時(shí),內(nèi)聯(lián)接才返回行。

內(nèi)聯(lián)接消除與還有一個(gè)表中的不論什么行不匹配的行而外聯(lián)接會(huì)返回 FROM 子句中提到的至少一個(gè)表或視圖的全部行,僅僅要這些行符合不論什么 WHERE 或 HAVING 搜索條件。將檢索通過(guò)左向外聯(lián)接引用的左表的全部行,以及通過(guò)右向外聯(lián)接引用的右表的全部行。完整外部聯(lián)接中兩個(gè)表的全部行都將返回。

Microsoft® SQL Server™ 2000 對(duì)在 FROM 子句中指定的外聯(lián)接使用下面 SQL-92 keyword:

LEFT OUTER JOIN 或 LEFT JOIN

RIGHT OUTER JOIN 或 RIGHT JOIN

FULL OUTER JOIN 或 FULL JOIN
SQL Server 支持 SQL-92 外聯(lián)接語(yǔ)法,以及在 WHERE 子句中使用 *= 和 =* 運(yùn)算符指定外聯(lián)接的舊式語(yǔ)法。因?yàn)?SQL-92 語(yǔ)法不easy產(chǎn)生歧義。而舊式 Transact-SQL 外聯(lián)接有時(shí)會(huì)產(chǎn)生歧義。因此建議使用 SQL-92 語(yǔ)法。

使用左向外聯(lián)接
如果在 city 列上聯(lián)接 authors 表和 publishers 表。結(jié)果僅僅顯示在出版商所在城市居住的作者(本例中為 Abraham Bennet 和 Cheryl Carson)。

若要在結(jié)果中包含全部的作者。而無(wú)論出版商是否住在同一個(gè)城市。請(qǐng)使用 SQL-92 左向外聯(lián)接。以下是 Transact-SQL 左向外聯(lián)接的查詢和結(jié)果:

USE pubs
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors aLEFT OUTER JOINpublishers p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC

以下是結(jié)果集:

au_fname au_lname pub_name
-------------------- ------------------------------ -----------------
Reginald Blotchet-Halls NULL
Michel DeFrance NULL
Innes del Castillo NULL
Ann Dull NULL
Marjorie Green NULL
Morningstar Greene NULL
Burt Gringlesby NULL
Sheryl Hunter NULL
Livia Karsen NULL
Charlene Locksley NULL
Stearns MacFeather NULL
Heather McBadden NULL
Michael O'Leary NULL
Sylvia Panteley NULL
Albert Ringer NULL
Anne Ringer NULL
Meander Smith NULL
Dean Straight NULL
Dirk Stringer NULL
Johnson White NULL
Akiko Yokomoto NULL
Abraham Bennet Algodata Infosystems
Cheryl Carson Algodata Infosystems

(23 row(s) affected)

無(wú)論是否與 publishers 表中的 city 列匹配,LEFT OUTER JOIN 均會(huì)在結(jié)果中包括 authors 表的全部行。注意:結(jié)果中所列的大多數(shù)作者都沒有相匹配的右表數(shù)據(jù),因此,這些行的 pub_name 列包括空值

使用右向外聯(lián)接
假 設(shè)在 city 列上聯(lián)接 authors 表和 publishers 表。

結(jié)果僅僅顯示在出版商所在城市居住的作者(本例中為 Abraham Bennet 和 Cheryl Carson)。SQL-92 右向外聯(lián)接運(yùn)算符 RIGHT OUTER JOIN 指明:無(wú)論第一個(gè)表中是否有匹配的數(shù)據(jù)。結(jié)果將包括第二個(gè)表中的全部行。

若要在結(jié)果中包含全部的出版商,而無(wú)論城市中是否還有出版商居住,請(qǐng)使用 SQL-92 右向外聯(lián)接。以下是 Transact-SQL 右向外聯(lián)接的查詢和結(jié)果:

USE pubs
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors AS a RIGHT OUTER JOIN publishers AS p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC

以下是結(jié)果集:

au_fname au_lname pub_name
-------------------- ------------------------ --------------------
Abraham Bennet Algodata Infosystems
Cheryl Carson Algodata Infosystems
NULL NULL Binnet & Hardley
NULL NULL Five Lakes Publishing
NULL NULL GGG&G
NULL NULL Lucerne Publishing
NULL NULL New Moon Books
NULL NULL Ramona Publishers
NULL NULL Scootney Books

(9 row(s) affected)

使用謂詞(如將聯(lián)接與常量比較)能夠進(jìn)一步限制外聯(lián)接。

下例包括同樣的右向外聯(lián)接。但消除銷售量低于 50 本的書籍的書名:

USE pubs
SELECT s.stor_id, s.qty, t.title
FROM sales s RIGHT OUTER JOIN titles t
ON s.title_id = t.title_id
AND s.qty > 50
ORDER BY s.stor_id ASC

以下是結(jié)果集:

stor_id qty title
------- ------ ---------------------------------------------------------
(null) (null) But Is It User Friendly?
(null) (null) Computer Phobic AND Non-Phobic Individuals: Behavior
Variations
(null) (null) Cooking with Computers: Surreptitious Balance Sheets
(null) (null) Emotional Security: A New Algorithm
(null) (null) Fifty Years in Buckingham Palace Kitchens
7066 75 Is Anger the Enemy?


(null) (null) Life Without Fear
(null) (null) Net Etiquette
(null) (null) Onions, Leeks, and Garlic: Cooking Secrets of the
Mediterranean
(null) (null) Prolonged Data Deprivation: Four Case Studies
(null) (null) Secrets of Silicon Valley
(null) (null) Silicon Valley Gastronomic Treats
(null) (null) Straight Talk About Computers
(null) (null) Sushi, Anyone?
(null) (null) The Busy Executive's Database Guide
(null) (null) The Gourmet Microwave
(null) (null) The Psychology of Computer Cooking
(null) (null) You Can Combat Computer Stress!

(18 row(s) affected)

有關(guān)謂詞的很多其它信息,請(qǐng)參見 WHERE。

使用完整外部聯(lián)接
若 要通過(guò)在聯(lián)接結(jié)果中包含不匹配的行保留不匹配信息,請(qǐng)使用完整外部聯(lián)接。

Microsoft® SQL Server™ 2000 提供完整外部聯(lián)接運(yùn)算符 FULL OUTER JOIN。無(wú)論還有一個(gè)表是否有匹配的值,此運(yùn)算符都包含兩個(gè)表中的全部行。

如果在 city 列上聯(lián)接 authors 表和 publishers 表。結(jié)果僅僅顯示在出版商所在城市居住的作者(本例中為 Abraham Bennet 和 Cheryl Carson)。SQL-92 FULL OUTER JOIN 運(yùn)算符指明:無(wú)論表中是否有匹配的數(shù)據(jù),結(jié)果將包含兩個(gè)表中的全部行。

若要在結(jié)果中包含全部作者和出版商,而無(wú)論城市中是否有出版商或者出版商是否住在同一個(gè)城市。請(qǐng)使用完整外部聯(lián)接。

以下是 Transact-SQL 完整外部聯(lián)接的查詢和結(jié)果:

USE pubs
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors a FULL OUTER JOIN publishers p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC

以下是結(jié)果集:

au_fname au_lname pub_name
-------------------- ---------------------------- --------------------
Reginald Blotchet-Halls NULL
Michel DeFrance NULL
Innes del Castillo NULL
Ann Dull NULL
Marjorie Green NULL
Morningstar Greene NULL
Burt Gringlesby NULL
Sheryl Hunter NULL
Livia Karsen NULL
Charlene Locksley NULL
Stearns MacFeather NULL
Heather McBadden NULL
Michael O'Leary NULL
Sylvia Panteley NULL
Albert Ringer NULL
Anne Ringer NULL
Meander Smith NULL
Dean Straight NULL
Dirk Stringer NULL
Johnson White NULL
Akiko Yokomoto NULL
Abraham Bennet Algodata Infosystems
Cheryl Carson Algodata Infosystems
NULL NULL Binnet & Hardley
NULL NULL Five Lakes Publishing
NULL NULL GGG&G
NULL NULL Lucerne Publishing
NULL NULL New Moon Books
NULL NULL Ramona Publishers
NULL NULL Scootney Books

(30 row(s) affected)

總結(jié)

以上是生活随笔為你收集整理的SQL:OUTER JOIN使用方法具体解释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。