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

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

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

    左外連接,右外連接,全連接,內(nèi)連接的各差異,以及何時用什么連接?


    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)接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結(jié)果集行包含基表的數(shù)據(jù)值。? ?
    ? ?
    ??僅當至少有一個同屬于兩表的行符合聯(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? ?子句中使用? ?*=? ?和? ?=*? ?運算符指定外聯(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? ?
    ? ?
    ??下面是結(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)? ?
    ? ?
    ??不管是否與? ?publishers? ?表中的? ?city? ?列匹配,LEFT? ?OUTER? ?JOIN? ?均會在結(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)接運算符? ?RIGHT? ?OUTER? ?JOIN? ?指明:不管第一個表中是否有匹配的數(shù)據(jù),結(jié)果將包含第二個表中的所有行。? ?
    ? ?
    ??若要在結(jié)果中包括所有的出版商,而不管城市中是否還有出版商居住,請使用? ?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)接與常量比較)可以進一步限制外聯(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)謂詞的更多信息,請參見? ?WHERE。? ???
    ? ?
    ??使用完整外部聯(lián)接? ?
    ??若要通過在聯(lián)接結(jié)果中包括不匹配的行保留不匹配信息,請使用完整外部聯(lián)接。Microsoft?? ?SQL? ?Server?? ?2000? ?提供完整外部聯(lián)接運算符? ?FULL? ?OUTER? ?JOIN,不管另一個表是否有匹配的值,此運算符都包括兩個表中的所有行。? ?
    ? ?
    ??假設(shè)在? ?city? ?列上聯(lián)接? ?authors? ?表和? ?publishers? ?表。結(jié)果只顯示在出版商所在城市居住的作者(本例中為? ?Abraham? ?Bennet? ?和? ?Cheryl? ?Carson)。SQL-92? ?FULL? ?OUTER? ?JOIN? ?運算符指明:不管表中是否有匹配的數(shù)據(jù),結(jié)果將包括兩個表中的所有行。? ?
    ? ?
    ??若要在結(jié)果中包括所有作者和出版商,而不管城市中是否有出版商或者出版商是否住在同一個城市,請使用完整外部聯(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
    聯(lián)接條件可在? ?FROM? ?或? ?WHERE? ?子句中指定,建議在? ?FROM? ?子句中指定聯(lián)接條件。WHERE? ?和? ?HAVING? ?子句也可以包含搜索條件,以進一步篩選聯(lián)接條件所選的行。? ?
    ? ?
    ??聯(lián)接可分為以下幾類:? ???
    ? ?
    ??內(nèi)聯(lián)接(典型的聯(lián)接運算,使用像? ?=? ?或? ?<>? ?之類的比較運算符)。包括相等聯(lián)接和自然聯(lián)接。? ???
    ??內(nèi)聯(lián)接使用比較運算符根據(jù)每個表共有的列的值匹配兩個表中的行。例如,檢索? ?students? ?和? ?courses? ?表中學生標識號相同的所有行。? ?
    ? ?
    ??外聯(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)接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結(jié)果集行包含基表的數(shù)據(jù)值。? ?
    ? ?
    ??交叉聯(lián)接。? ???
    ??交叉聯(lián)接返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯(lián)接也稱作笛卡爾積。? ?
    ? ?
    ??例如,下面的內(nèi)聯(lián)接檢索與某個出版商居住在相同州和城市的作者:? ?
    ? ?
    ??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? ?子句中的表或視圖可通過內(nèi)聯(lián)接或完整外部聯(lián)接按任意順序指定;但是,用左或右向外聯(lián)接指定表或視圖時,表或視圖的順序很重要。有關(guān)使用左或右向外聯(lián)接排列表的更多信息,請參見使用外聯(lián)接。? ???
    ? ?
    ? ?
    ? ?
    ? ?
    ??例子:? ?
    ??a表? ???id? ?name? ???b表? ???id? ?job? ?parent_id? ?
    ? ?? ?? ?? ???1? ?張3? ?? ?? ?? ?? ?? ? 1? ???23? ???1? ?
    ? ?? ?? ?? ???2? ?李四? ?? ?? ?? ?? ???2? ???34? ???2? ?
    ? ?? ?? ?? ???3? ?王武? ?? ?? ?? ?? ???3? ???34? ???4? ?
    ? ?
    ??a.id同parent_id? ?存在關(guān)系? ?
    ? ?
    ??內(nèi)連接? ?
    ??select? ?a.*,b.*? ?from? ?a? ?inner? ?join? ?b? ???on? ?a.id=b.parent_id? ?
    ? ?
    ??結(jié)果是? ???
    ??1? ?張3? ?? ?? ?? ?? ?? ? 1? ???23? ???1? ?
    ??2? ?李四? ?? ?? ?? ?? ???2? ???34? ???2? ?
    ? ?
    ??左連接? ?
    ? ?
    ??select? ?a.*,b.*? ?from? ?a? ?left? ?join? ?b? ???on? ?a.id=b.parent_id? ?
    ? ?
    ??結(jié)果是? ???
    ??1? ?張3? ?? ?? ?? ?? ?? ? 1? ???23? ???1? ?
    ??2? ?李四? ?? ?? ?? ?? ???2? ???34? ???2? ?
    ??3? ?王武? ?? ?? ?? ?? ???null? ?
    ??右連接? ?
    ??select? ?a.*,b.*? ?from? ?a? ?right? ?join? ?b? ???on? ?a.id=b.parent_id? ?
    ? ?
    ??結(jié)果是? ???
    ??1? ?張3? ?? ?? ?? ?? ?? ? 1? ???23? ???1? ?
    ??2? ?李四? ?? ?? ?? ?? ???2? ???34? ???2? ?
    ??null? ?? ?? ?? ?? ???3? ???34? ???4? ?
    ? ?
    ??完全連接? ?
    ? ?
    ??select? ?a.*,b.*? ?from? ?a? ?full? ?join? ?b? ???on? ?a.id=b.parent_id? ?
    ? ?
    ? ?
    ??結(jié)果是? ???
    ??1? ?張3? ?? ?? ?? ?? ?? ? 1? ???23? ???1? ?
    ??2? ?李四? ?? ?? ?? ?? ???2? ???34? ???2? ?
    ??null? ?? ?? ?? ?? ???3? ???34? ???4? ?
    ??3? ?王武? ?? ?? ?? ?? ???null
    左連接例子

    select count(*) as title from seek_user t1 left join sekk_info t2 on t1.seek_id=t2.user_id where SeekusType!='8'


    posted on 2008-04-13 17:04 金家寶 閱讀(1064) 評論(0)  編輯  收藏 所屬分類: Mysql

    主站蜘蛛池模板: 国产精品免费视频网站| 亚洲乱人伦中文字幕无码| 国产免费私拍一区二区三区| 久久青草精品38国产免费| 理论片在线观看免费| 2020久久精品亚洲热综合一本| 亚洲国产精品va在线播放| 国产免费av一区二区三区| 日韩欧毛片免费视频| 久久国产精品免费视频| 好猛好深好爽好硬免费视频| 国产成人精品亚洲一区| 亚洲人成未满十八禁网站| 亚洲va精品中文字幕| 亚洲高清无在码在线电影不卡| 一本久久a久久精品亚洲| 亚洲国产成人久久综合一区77 | 亚洲免费人成在线视频观看| 国产乱人免费视频| 免费涩涩在线视频网| 一二三四视频在线观看中文版免费| 久久中文字幕免费视频| 野花香高清在线观看视频播放免费 | 亚洲综合在线另类色区奇米| 免费在线看片网站| 国产a级特黄的片子视频免费| 蜜桃精品免费久久久久影院| 免费电视剧在线观看| 久久电影网午夜鲁丝片免费| 无码日韩人妻av一区免费 | 国产成人精品日本亚洲18图| 亚洲国产成人手机在线电影bd | 一级特黄aa毛片免费观看| 久久免费精品一区二区| 国产一区二区三区免费| a级片在线免费看| 国产一精品一AV一免费| 青青操免费在线视频| 香港a毛片免费观看 | 亚洲av无码专区在线播放| 亚洲gv白嫩小受在线观看|