<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE 學習

    java struts1、struts2 spring hibernate freemarker ajax fckeditor Mysql MSSQL ORACLE DB2 Websphere jboss
    隨筆 - 11, 文章 - 13, 評論 - 2, 引用 - 0
    數據加載中……

    SQL 左外連接,右外連接,全連接,內連接 四種連接的差異

    外聯接。外聯接可以是左向外聯接、右向外聯接或完整外部聯接。 在 FROM 子句中指定外聯接時,可以由下列幾組關鍵字中的一組指定: LEFT JOIN 或 LEFT OUTER JOIN。 左向外聯接的結果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。 RIGHT JOIN 或 RIGHT OUTER JOIN。 右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。 FULL JOIN 或 FULL OUTER JOIN。 完整外部聯接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的數據值。 僅當至少有一個同屬于兩表的行符合聯接條件時,內聯接才返回行。內聯接消除與另一個表中的任何行不匹配的行。而外聯接會返回 FROM 子句中提到的至少一個表或視圖的所有行,只要這些行符合任何 WHERE 或 HAVING 搜索條件。將檢索通過左向外聯接引用的左表的所有行,以及通過右向外聯接引用的右表的所有行。完整外部聯接中兩個表的所有行都將返回。 Microsoft® SQL Server™ 2000 對在 FROM 子句中指定的外聯接使用以下 SQL-92 關鍵字: LEFT OUTER JOIN 或 LEFT JOIN RIGHT OUTER JOIN 或 RIGHT JOIN FULL OUTER JOIN 或 FULL JOIN SQL Server 支持 SQL-92 外聯接語法,以及在 WHERE 子句中使用 *= 和 =* 運算符指定外聯接的舊式語法。由于 SQL-92 語法不容易產生歧義,而舊式 Transact-SQL 外聯接有時會產生歧義,因此建議使用 SQL-92 語法。 使用左向外聯接 假設在 city 列上聯接 authors 表和 publishers 表。結果只顯示在出版商所在城市居住的作者(本例中為 Abraham Bennet 和 Cheryl Carson)。 若要在結果中包括所有的作者,而不管出版商是否住在同一個城市,請使用 SQL-92 左向外聯接。 下面是 Transact-SQL 左向外聯接的查詢和結果: 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 下面是結果集: 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) 不管是否與 publishers 表中的 city 列匹配,LEFT OUTER JOIN 均會在結果中包含 authors 表的所有行。注意:結果中所列的大多數作者都沒有相匹配的數據,因此,這些行的 pub_name 列包含空值。 使用右向外聯接 假設在 city 列上聯接 authors 表和 publishers 表。結果只顯示在出版商所在城市居住的作者(本例中為 Abraham Bennet 和 Cheryl Carson)。SQL-92 右向外聯接運算符 RIGHT OUTER JOIN 指明:不管第一個表中是否有匹配的數據,結果將包含第二個表中的所有行。 若要在結果中包括所有的出版商,而不管城市中是否還有出版商居住,請使用 SQL-92 右向外聯接。下面是 Transact-SQL 右向外聯接的查詢和結果: 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 下面是結果集: 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) 使用謂詞(如將聯接與常量比較)可以進一步限制外聯接。下例包含相同的右向外聯接,但消除銷售量低于 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 下面是結果集: 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) 有關謂詞的更多信息,請參見 WHERE。 使用完整外部聯接 若要通過在聯接結果中包括不匹配的行保留不匹配信息,請使用完整外部聯接。Microsoft® SQL Server™ 2000 提供完整外部聯接運算符 FULL OUTER JOIN,不管另一個表是否有匹配的值,此運算符都包括兩個表中的所有行。 假設在 city 列上聯接 authors 表和 publishers 表。結果只顯示在出版商所在城市居住的作者(本例中為 Abraham Bennet 和 Cheryl Carson)。SQL-92 FULL OUTER JOIN 運算符指明:不管表中是否有匹配的數據,結果將包括兩個表中的所有行。 若要在結果中包括所有作者和出版商,而不管城市中是否有出版商或者出版商是否住在同一個城市,請使用完整外部聯接。下面是 Transact-SQL 完整外部聯接的查詢和結果: 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 下面是結果集: 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 聯接條件可在 FROM 或 WHERE 子句中指定,建議在 FROM 子句中指定聯接條件。WHERE 和 HAVING 子句也可以包含搜索條件,以進一步篩選聯接條件所選的行。 聯接可分為以下幾類: 內聯接(典型的聯接運算,使用像 = 或 <> 之類的比較運算符)。包括相等聯接和自然聯接。 內聯接使用比較運算符根據每個表共有的列的值匹配兩個表中的行。例如,檢索 students 和 courses 表中學生標識號相同的所有行。 外聯接。外聯接可以是左向外聯接、右向外聯接或完整外部聯接。 在 FROM 子句中指定外聯接時,可以由下列幾組關鍵字中的一組指定: LEFT JOIN 或 LEFT OUTER JOIN。 左向外聯接的結果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。 RIGHT JOIN 或 RIGHT OUTER JOIN。 右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。 FULL JOIN 或 FULL OUTER JOIN。 完整外部聯接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的數據值。 交叉聯接。 交叉聯接返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯接也稱作笛卡爾積。 例如,下面的內聯接檢索與某個出版商居住在相同州和城市的作者: USE pubs SELECT a.au_fname, a.au_lname, p.pub_name FROM authors AS a INNER JOIN publishers AS p ON a.city = p.city AND a.state = p.state ORDER BY a.au_lname ASC, a.au_fname ASC FROM 子句中的表或視圖可通過內聯接或完整外部聯接按任意順序指定;但是,用左或右向外聯接指定表或視圖時,表或視圖的順序很重要。有關使用左或右向外聯接排列表的更多信息,請參見使用外聯接。

    posted on 2011-03-21 17:35 李峰 閱讀(354) 評論(0)  編輯  收藏 所屬分類: 數據庫

    主站蜘蛛池模板: 亚洲AV日韩AV永久无码绿巨人| 美女网站在线观看视频免费的| 久久亚洲国产精品一区二区| 日韩中文无码有码免费视频| 24小时日本韩国高清免费| 人与动性xxxxx免费| 亚洲精品无播放器在线播放| 亚洲视频一区在线| 国产亚洲大尺度无码无码专线| 国产精品极品美女免费观看| 999国内精品永久免费视频| 青青青国产手机频在线免费观看| 日本高清不卡中文字幕免费| 亚洲爆乳无码专区www| 日韩亚洲不卡在线视频中文字幕在线观看| 久久精品国产亚洲AV果冻传媒 | 亚洲人配人种jizz| 婷婷久久久亚洲欧洲日产国码AV| 亚洲日韩国产精品乱| 国产免费久久精品| 日韩高清在线免费看| 成人免费看片又大又黄| 99久久国产热无码精品免费| 国产精品免费网站| 亚洲美女视频免费| 永久免费在线观看视频| 在线观看永久免费| 最近免费中文字幕高清大全| 人妻丰满熟妇无码区免费 | 亚洲va国产va天堂va久久| 亚洲日韩中文字幕在线播放| 国产AV无码专区亚洲AV手机麻豆| MM131亚洲国产美女久久| 亚洲日本韩国在线| 亚洲综合无码精品一区二区三区| 国产国拍精品亚洲AV片| 亚洲乳大丰满中文字幕| 亚洲AV永久无码精品成人| 亚洲ⅴ国产v天堂a无码二区| 亚洲免费视频在线观看| 亚洲精品国产专区91在线|