国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

mysql-joins具體用法說明

瀏覽:84日期:2023-10-05 11:30:01

JOIN對于接觸過數(shù)據(jù)庫的人,這個詞都不陌生,而且很多人很清楚各種JOIN,還有很多人對這個理解也不是很透徹。假設我們有兩個表,Table_A和Table_B。這兩個表中的數(shù)據(jù)如下所示:

TABLE_A| TABLE_B PK Value | PK Value---- ---------- | ---- ---------- 1 FOX | 1 TROT 2 COP | 2 CAR 3 TAXI | 3 CAB 6 WASHINGTON | 6 MONUMENT 7 DELL | 7 PC 5 ARIZONA | 8 MICROSOFT 4 LINCOLN | 9 APPLE 10 LUCENT | 11 SCOTCHJoin 語法:

join_table: table_reference JOIN table_factor [join_condition]//內(nèi)連接 | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition//外連接 | table_reference LEFT SEMI JOIN table_reference join_condition//左半連接 | table_reference CROSS JOIN table_reference [join_condition] (as of Hive 0.10)table_reference: table_factor//表 | join_table//join語句table_factor: tbl_name [alias]//表名[別名] | table_subquery alias//子查尋[別名] | ( table_references )//帶空號的table_referencejoin_condition: ON expression//on開頭的條件語句1、Inner JOIN: (內(nèi)連接)

mysql-joins具體用法說明

這是最簡單、最容易理解的連接,也是最常見的連接。此查詢將返回左表(表A)中具有右表(表B)中匹配記錄的所有記錄。此連接寫成如下:

SELECT <select_list> FROM Table_A AINNER JOIN Table_B BON A.Key = B.Key

-- Inner JOINSELECT A.PK AS A_PK, A.Value AS A_Value, B.Value AS B_Value, B.PK AS B_PKFROM Table_A AINNER JOIN Table_B BON A.PK = B.PKA_PK A_Value B_Value B_PK---- ---------- ---------- ---- 1 FOX TROT 1 2 COP CAR 2 3 TAXI CAB 3 6 WASHINGTON MONUMENT 6 7 DELL PC 7(5 row(s) affected)2、Left JOIN: (左連接)

mysql-joins具體用法說明

此查詢將返回左表(表A)中的所有記錄,而不管這些記錄是否與右表(表B)中的任何記錄匹配。它還將從正確的表中返回任何匹配的記錄。此連接寫成如下:

SELECT <select_list>FROM Table_A ALEFT JOIN Table_B BON A.Key = B.Key

-- Left JOINSELECT A.PK AS A_PK, A.Value AS A_Value,B.Value AS B_Value, B.PK AS B_PKFROM Table_A ALEFT JOIN Table_B BON A.PK = B.PKA_PK A_Value B_Value B_PK---- ---------- ---------- ---- 1 FOX TROT 1 2 COP CAR 2 3 TAXI CAB 3 4 LINCOLN NULL NULL 5 ARIZONA NULL NULL 6 WASHINGTON MONUMENT 6 7 DELL PC 7 10 LUCENT NULL NULL(8 row(s) affected)3、Left Excluding JOIN: (左連接排除內(nèi)連接結果)

此查詢將返回左表(表A)中與右表(表B)中的任何記錄都不匹配的所有記錄。此連接寫成如下:

mysql-joins具體用法說明

SELECT <select_list> FROM Table_A ALEFT JOIN Table_B BON A.Key = B.KeyWHERE B.Key IS NULL

-- Left Excluding JOINSELECT A.PK AS A_PK, A.Value AS A_Value,B.Value AS B_Value, B.PK AS B_PKFROM Table_A ALEFT JOIN Table_B BON A.PK = B.PKWHERE B.PK IS NULLA_PK A_Value B_Value B_PK---- ---------- ---------- ---- 4 LINCOLN NULL NULL 5 ARIZONA NULL NULL 10 LUCENT NULL NULL(3 row(s) affected)4、Right JOIN: (右連接)

mysql-joins具體用法說明

此查詢將返回右表(表B)中的所有記錄,而不管這些記錄中是否有任何記錄與左表(表A)中的記錄相匹配。它還將返回左表中的任何匹配記錄。此連接寫成如下:

SELECT <select_list>FROM Table_A ARIGHT JOIN Table_B BON A.Key = B.Key

-- Right JOINSELECT A.PK AS A_PK, A.Value AS A_Value,B.Value AS B_Value, B.PK AS B_PKFROM Table_A ARIGHT JOIN Table_B BON A.PK = B.PKA_PK A_Value B_Value B_PK---- ---------- ---------- ---- 1 FOX TROT 1 2 COP CAR 2 3 TAXI CAB 3 6 WASHINGTON MONUMENT 6 7 DELL PC 7NULL NULL MICROSOFT 8NULL NULL APPLE 9NULL NULL SCOTCH 11(8 row(s) affected)5、Right Excluding JOIN: (右連接排除內(nèi)連接結果)

mysql-joins具體用法說明

此查詢將返回右表(表B)中與左表(表A)中的任何記錄都不匹配的所有記錄。此連接寫成如下:

SELECT <select_list>FROM Table_A ARIGHT JOIN Table_B BON A.Key = B.KeyWHERE A.Key IS NULL

-- Right Excluding JOINSELECT A.PK AS A_PK, A.Value AS A_Value,B.Value AS B_Value, B.PK AS B_PKFROM Table_A ARIGHT JOIN Table_B BON A.PK = B.PKWHERE A.PK IS NULLA_PK A_Value B_Value B_PK---- ---------- ---------- ----NULL NULL MICROSOFT 8NULL NULL APPLE 9NULL NULL SCOTCH 11(3 row(s) affected)6、Outer JOIN: (外連接)

mysql-joins具體用法說明

此聯(lián)接也可以稱為完全外聯(lián)接或完全聯(lián)接。此查詢將返回兩個表中的所有記錄,連接左表(表A)中與右表(表B)中的記錄相匹配的記錄。此連接寫成如下:

SELECT <select_list>FROM Table_A AFULL OUTER JOIN Table_B BON A.Key = B.Key

-- Outer JOINSELECT A.PK AS A_PK, A.Value AS A_Value,B.Value AS B_Value, B.PK AS B_PKFROM Table_A AFULL OUTER JOIN Table_B BON A.PK = B.PKA_PK A_Value B_Value B_PK---- ---------- ---------- ---- 1 FOX TROT 1 2 COP CAR 2 3 TAXI CAB 3 6 WASHINGTON MONUMENT 6 7 DELL PC 7NULL NULL MICROSOFT 8NULL NULL APPLE 9NULL NULL SCOTCH 11 5 ARIZONA NULL NULL 4 LINCOLN NULL NULL 10 LUCENT NULL NULL(11 row(s) affected)7、Outer Excluding JOIN: (外連接排除內(nèi)連接結果)

mysql-joins具體用法說明

此查詢將返回左表(表A)中的所有記錄和右表(表B)中不匹配的所有記錄。我還不需要使用這種類型的聯(lián)接,但所有其他類型的聯(lián)接我都相當頻繁地使用。此連接寫成如下:

SELECT <select_list>FROM Table_A AFULL OUTER JOIN Table_B BON A.Key = B.KeyWHERE A.Key IS NULL OR B.Key IS NULL

-- Outer Excluding JOINSELECT A.PK AS A_PK, A.Value AS A_Value,B.Value AS B_Value, B.PK AS B_PKFROM Table_A AFULL OUTER JOIN Table_B BON A.PK = B.PKWHERE A.PK IS NULLOR B.PK IS NULLA_PK A_Value B_Value B_PK---- ---------- ---------- ----NULL NULL MICROSOFT 8NULL NULL APPLE 9NULL NULL SCOTCH 11 5 ARIZONA NULL NULL 4 LINCOLN NULL NULL 10 LUCENT NULL NULL(6 row(s) affected)

注意,在外部聯(lián)接上,首先返回內(nèi)部連接記錄,然后返回右連接記錄,最后返回左連接記錄(至少,我的Microsoft SQL Server就是這樣做的;當然,這不需要使用任何ORDERBY語句)。您可以訪問維基百科文章以獲得更多信息(但是,條目不是圖形化的)。我還創(chuàng)建了一個備忘單,您可以在需要時打印出來。如果您右鍵單擊下面的圖像并選擇“將目標保存為.”,您將下載完整大小的圖像。

mysql-joins具體用法說明

到此這篇關于mysql-joins具體用法說明的文章就介紹到這了,更多相關mysql-joins用法內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

相關文章:
主站蜘蛛池模板: 在线a亚洲视频播放在线观看 | 特级做a爰片毛片免费看 | 91刘亦菲精品福利在线 | 91av成年影院在线播放 | 亚洲第一成人天堂第一 | 97视频精品 | 国产好片无限资源 | 黄在线观看在线播放720p | 国产成人免费片在线视频观看 | 亚洲区精品 | 日韩三级免费看 | 福利社在线视频 | 亚洲国产成人久久一区www | 亚洲欧美一区二区三区在线观看 | 午夜影院福利社 | 欧美日韩另类国产 | 草草影院第一页yycccom | 国产成视频 | 久久视频精品36线视频在线观看 | 亚洲夜色夜色综合网站 | 色多多最新地址福利地址 | 日韩精品在线免费观看 | 久久亚洲精品中文字幕第一区 | 400部大量精品情侣网站 | 欧美a级在线观看 | 成人毛片在线 | 欧美亚洲另类在线 | 亚洲欧美人妖另类激情综合区 | 欧美视频在线观在线看 | 99久久综合精品国产 | 亚洲一区二区三区首页 | 国产一有一级毛片视频 | 欧美日本高清视频在线观看 | 国产成人免费不卡在线观看 | 扒开两腿猛进入爽爽视频 | 午夜两性视频免费看 | 成人国产精品毛片 | 国产一国产一有一级毛片 | 久久国产精品夜色 | 成人欧美一区二区三区在线观看 | 免费久久久久 |