亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

SQL

SQL:JOIN完全用法的解答

時間:2024-09-14 05:37:01 SQL 我要投稿
  • 相關(guān)推薦

SQL:JOIN完全用法的解答

  外聯(lián)接

  外聯(lián)接可以是左向外聯(lián)接、右向外聯(lián)接或完整外部聯(lián)接。在 FROM 子句中指定外聯(lián)接時,可以由下列幾組關(guān)鍵字中的一組指定:LEFT JOIN 或 LEFT OUTER JOIN。

  左向外聯(lián)接的結(jié)果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯(lián)接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關(guān)聯(lián)的結(jié)果集行中右表的所有選擇列表列均為空值。

  RIGHT JOIN 或 RIGHT OUTER JOIN。

  右向外聯(lián)接是左向外聯(lián)接的反向聯(lián)接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。

  FULL JOIN 或 FULL OUTER JOIN。

  完整外部聯(lián)接返回左表和右表中的所有行。當(dāng)某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結(jié)果集行包含基表的數(shù)據(jù)值。

  僅當(dāng)至少有一個同屬于兩表的行符合聯(lián)接條件時,內(nèi)聯(lián)接才返回行。內(nèi)聯(lián)接消除與另一個表中的任何行不匹配的行。而外聯(lián)接會返回 FROM 子句中提到的至少一個表或視圖的所有行,只要這些行符合任何 WHERE 或 HAVING 搜索條件。將檢索通過左向外聯(lián)接引用的左表的所有行,以及通過右向外聯(lián)接引用的右表的所有行。完整外部聯(lián)接中兩個表的所有行都將返回。

  Microsoft SQL Server 2000 對在 FROM 子句中指定的外聯(lián)接使用以下 SQL-92 關(guān)鍵字:

  LEFT OUTER JOIN 或 LEFT JOIN

  RIGHT OUTER JOIN 或 RIGHT JOIN

  FULL OUTER JOIN 或 FULL JOIN

  SQL Server 支持 SQL-92 外聯(lián)接語法,以及在 WHERE 子句中使用 *= 和 =* 運(yùn)算符指定外聯(lián)接的舊式語法。由于 SQL-92 語法不容易產(chǎn)生歧義,而舊式 Transact-SQL 外聯(lián)接有時會產(chǎn)生歧義,因此建議使用 SQL-92 語法。

  使用左向外聯(lián)接

  假設(shè)在 city 列上聯(lián)接 authors 表和 publishers 表。結(jié)果只顯示在出版商所在城市居住的作者(本例中為 Abraham Bennet 和 Cheryl Carson)。

  若要在結(jié)果中包括所有的作者,而不管出版商是否住在同一個城市,請使用 SQL-92 左向外聯(lián)接。下面是 Transact-SQL 左向外聯(lián)接的查詢和結(jié)果:

  USE pubs

  SELECT a.au_fname, a.au_lname, p.pub_name

  FROM authors a LEFT OUTER JOIN publishers p

  ON a.city = p.city

  ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC

【SQL:JOIN完全用法的解答】相關(guān)文章:

sql語法大全03-23

Sql認(rèn)證考試內(nèi)容06-08

MySQL導(dǎo)出導(dǎo)入SQL文件命令方法06-29

all用法要點07-24

again用法詳解08-25

對茶文化的問題與解答07-20

英語祈使句的結(jié)構(gòu)及用法06-17

英語介詞to的用法匯總02-01

英語方位名詞的用法07-19

俄語動詞“體”的用法02-04