sql中join的几种常见用法总结 求SQL语句里面join的用法,求例子及讲解。
SQL\u5e38\u7528\u7684\u51e0\u79cd\u8fde\u63a5\uff08JOIN\uff09\u5c0f\u7ed3\u8fde\u63a5\u8fd0\u7b97\u662f8\u79cd\u5173\u7cfb\u8fd0\u7b97\u4e2d\u7684\u4e00\u79cd\u3002
\u4e94\u79cdJOIN\u65b9\u5f0f\uff1a
1.INNER JOIN or JOIN2.OUTER JOIN2.1LEFT OUTER JOIN or LEFT JOIN2.2RIGHT OUTER JOIN or RIGHT JOIN2.3FULL OUTER JOIN or FULL JOIN3.NATURAL JOIN4.CROSS JOIN5.SELF JOINPS:JOIN\u4e2d\u7684\u7b80\u5199\u4e3a\u8bed\u6cd5\u7cd6\uff0c\u5b9e\u9645\u4e2d\u5199\u51fa\u6765\u65b9\u4fbf\u8bfb\u4e00\u70b9\u800c\u5df212345678910
\u4e24\u79cd\u8fde\u63a5\u6761\u4ef6\uff1a
1.Equi JOIN 1.1NATURAL 1.2USING(a,b) 1.3= ...2.Theta JOIN 2.1>= 2.2 ...PS:USING(...)\u6307\u5b9a\u9700\u8981\u54ea\u4e9b\u5217\u76f8\u7b49\u3002ON\u5219\u53ef\u4ee5\u6307\u5b9a\u4efb\u610f\u7684\u8fde\u63a5\u6761\u4ef6(=,>=,,<...)123456789101112
JOIN or INNER JOIN
\u8fd4\u56de\u4e24\u4e2a\u8868\u4e2d\u540c\u65f6\u6ee1\u8db3\u6761\u4ef6\u7684\u5143\u7ec4\u5bf9\uff0c\u4e0d\u6ee1\u8db3\u7684\u5c06\u88ab\u4e22\u5f03\u3002
OUTER JOIN
LEFT OUTER JOIN
\u8fd4\u56de\u5de6\u8868\u6240\u6709\u884c\u4ee5\u53ca\u53f3\u8868\u6ee1\u8db3\u6761\u4ef6\u7684\u884c\uff0c\u5de6\u8868\u6709\u503c\u53f3\u8868\u65e0\u503c\u586b\u5145\u4e3anull
RIGHT OUTER JOIN
\u8fd4\u56de\u53f3\u8868\u6240\u6709\u884c\u4ee5\u53ca\u5de6\u8868\u6ee1\u8db3\u6761\u4ef6\u7684\u884c\uff0c\u53f3\u8868\u6709\u503c\u5de6\u8868\u65e0\u503c\u586b\u5145\u4e3anull
FULL OUTER JOIN
\u8fd4\u56de\u6240\u6709\u8868\u7684\u6240\u6709\u884c\uff0c\u5728\u6ee1\u8db3\u6761\u4ef6\u7684\u884c\u4e4b\u5916\uff0c\u5de6\u8868\u6ee1\u8db3\u53f3\u8868\u4e0d\u6ee1\u8db3\u6216\u8005\u76f8\u53cd\uff0c\u5747\u586b\u5145null
NATURAL JOIN
1\u3001\u6765\u81ea\u4e24\u4e2a\u5173\u7cfb\u7684\u5143\u7ec4\u5bf9\u5728\u5171\u540c\u5c5e\u6027\u4e0a\u7684\u503c\u76f8\u540c\u3002\uff08\u4e0d\u9650\u4e8e\u4e00\u4e2a\u5171\u540c\u5c5e\u6027\uff0c\u4e5f\u53ef\u4ee5\u662f\u591a\u4e2a\u5171\u540c\u5c5e\u6027\uff09 2\u3001\u53bb\u6389\u91cd\u590d\u7684\u5c5e\u6027\uff08\u5217\uff09\u3002 3\u3001\u5217\u51fa\u5c5e\u6027\u7684\u987a\u5e8f\uff1a\u5148\u662f\u5171\u540c\u5c5e\u6027\uff0c\u7136\u540e\u662f\u7b2c\u4e00\u4e2a\u5173\u7cfb\u7684\u5c5e\u6027\uff0c\u6700\u540e\u662f\u7b2c\u4e8c\u4e2a\u5173\u7cfb\u7684\u5c5e\u6027\u3002
\u4e3a\u4e86\u9632\u6b62\u4e24\u4e2a\u8868\u6709\u591a\u4e2a\u5171\u540c\u5c5e\u6027\u65f6natural join \u4f1a\u5ffd\u7565\u90e8\u5206\u9700\u8981\u7684\u5143\u7ec4\u5bf9\uff0c\u5e94\u4f7f\u7528join\u2026using(\u2026)\uff0c\u4ee5\u6307\u5b9a\u9700\u8981\u54ea\u4e9b\u5217\u76f8\u7b49 join\u2026using(\u2026)\u8fde\u63a5\u53ea\u80fd\u5c40\u9650\u5728\u6307\u5b9a\u7684\u5c5e\u6027\u4e0a
CROSS JOIN
\u8fd4\u56de\u7b1b\u5361\u513f\u79ef
SELF JOIN
\u76f8\u5f53\u4e8eA JOIN A
\u6700\u540e\u653e\u4e00\u5f20\u56fe\uff1a
join \u7528\u4e8e\u6839\u636e\u4e24\u4e2a\u6216\u591a\u4e2a\u8868\u4e2d\u7684\u5217\u4e4b\u95f4\u7684\u5173\u7cfb\uff0c\u4ece\u8fd9\u4e9b\u8868\u4e2d\u67e5\u8be2\u6570\u636e\u3002
JOIN: \u5982\u679c\u8868\u4e2d\u6709\u81f3\u5c11\u4e00\u4e2a\u5339\u914d\uff0c\u5219\u8fd4\u56de\u884c
LEFT JOIN: \u5373\u4f7f\u53f3\u8868\u4e2d\u6ca1\u6709\u5339\u914d\uff0c\u4e5f\u4ece\u5de6\u8868\u8fd4\u56de\u6240\u6709\u7684\u884c
RIGHT JOIN: \u5373\u4f7f\u5de6\u8868\u4e2d\u6ca1\u6709\u5339\u914d\uff0c\u4e5f\u4ece\u53f3\u8868\u8fd4\u56de\u6240\u6709\u7684\u884c
FULL JOIN: \u53ea\u8981\u5176\u4e2d\u4e00\u4e2a\u8868\u4e2d\u5b58\u5728\u5339\u914d\uff0c\u5c31\u8fd4\u56de\u884c
SQL INNER JOIN \u5173\u952e\u5b57
\u5728\u8868\u4e2d\u5b58\u5728\u81f3\u5c11\u4e00\u4e2a\u5339\u914d\u65f6\uff0cINNER JOIN \u5173\u952e\u5b57\u8fd4\u56de\u884c\u3002
INNER JOIN \u5173\u952e\u5b57\u8bed\u6cd5
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
\u6ce8\u91ca\uff1aINNER JOIN \u4e0e JOIN \u662f\u76f8\u540c\u7684\u3002
SQL LEFT JOIN \u5173\u952e\u5b57
LEFT JOIN \u5173\u952e\u5b57\u4f1a\u4ece\u5de6\u8868 (table_name1) \u90a3\u91cc\u8fd4\u56de\u6240\u6709\u7684\u884c\uff0c\u5373\u4f7f\u5728\u53f3\u8868 (table_name2) \u4e2d\u6ca1\u6709\u5339\u914d\u7684\u884c\u3002
LEFT JOIN \u5173\u952e\u5b57\u8bed\u6cd5
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
SQL RIGHT JOIN \u5173\u952e\u5b57
RIGHT JOIN \u5173\u952e\u5b57\u4f1a\u53f3\u8868 (table_name2) \u90a3\u91cc\u8fd4\u56de\u6240\u6709\u7684\u884c\uff0c\u5373\u4f7f\u5728\u5de6\u8868 (table_name1) \u4e2d\u6ca1\u6709\u5339\u914d\u7684\u884c\u3002
RIGHT JOIN \u5173\u952e\u5b57\u8bed\u6cd5
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
\u6ce8\u91ca\uff1a\u5728\u67d0\u4e9b\u6570\u636e\u5e93\u4e2d\uff0c RIGHT JOIN \u79f0\u4e3a RIGHT OUTER JOIN\u3002
SQL FULL JOIN \u5173\u952e\u5b57
\u53ea\u8981\u5176\u4e2d\u67d0\u4e2a\u8868\u5b58\u5728\u5339\u914d\uff0cFULL JOIN \u5173\u952e\u5b57\u5c31\u4f1a\u8fd4\u56de\u884c\u3002
FULL JOIN \u5173\u952e\u5b57\u8bed\u6cd5
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
\u6ce8\u91ca\uff1a\u5728\u67d0\u4e9b\u6570\u636e\u5e93\u4e2d\uff0c FULL JOIN \u79f0\u4e3a FULL OUTER JOIN\u3002
http://www.w3school.com.cn/sql/sql_join.asp
JOIN连接组合两个表中的字段记录,包括三种:
INNER JOIN运算式:连接组合两个表中的字段记录。
LEFT JOIN运算式:连接组合两个表中的字段记录,并将包含了LEFT JOIN左边表中的全部记录。
RIGHT JOIN运算式:连接组合两个表中的字段记录,并将包含了RIGHT JOIN右边表中的全部记录。
INNER JOIN设定两个表相关连的运算式,以连接组合两个表中的字段记录。
INNER JOIN语法如下:
FROM 表1 INNER JOIN 表2 ON 表1.字段1 比较运算子 表2.字段2
两个表连接的字段,譬如 [表1.字段1=表2.字段2],必须具有相同的字段类型,但是字段名称不需要相同。
例如,自动编号字段类型可以连接Long 的字段类型,但是单精整数字段类型不能连接双精整数的字段类型。
比较运算子可为=、<、>、<=、>=、或<>。
JOIN连接的字段,不可以包含MEMO字段类型或OLE对象类型,否则会发生错误。
在一个JOIN表达式中,可以连结多个ON子句:
SELECT fields
FROM 表1 INNER JOIN 表2
ON 表1.字段1 比较运算子 表2.字段1 AND
ON 表1.字段2 比较运算子 表2.字段2) OR
ON 表1.字段3 比较运算子 表2.字段3)
JOIN表达式中,可以为巢状式:
SELECT fields
FROM 表1 INNER JOIN
(表2 INNER JOIN [( ]表3
[INNER JOIN [( ] 表x [INNER JOIN ...)]
ON 表3.字段3 比较运算子 表x.字段x)]
ON 表2.字段2 比较运算子 表3.字段3)
ON 表1.字段1 比较运算子 表2.字段2
在一个INNER JOIN中,可以包括巢状式的LEFT JOIN或RIGHT JOIN,但是在一个LEFT JOIN或RIGHT JOIN中不能包括巢状式的INNER JOIN。
春宫曲(王昌龄)
绛旓細SQL涓殑JOIN鐢ㄤ簬灏嗕袱涓垨澶氫釜琛ㄤ腑鐨勬暟鎹熀浜庢煇涓浉鍏冲垪杩涜杩炴帴銆甯歌鐨凧OIN绫诲瀷鍖呮嫭INNER JOIN銆丩EFT JOIN銆丷IGHT JOIN鍜孎ULL JOIN銆傝缁嗚В閲婏細1. JOIN鐨勫熀鏈蹇碉細鍦ㄦ暟鎹簱涓紝缁忓父闇瑕佸皢澶氫釜琛ㄧ殑鏁版嵁缁勫悎鍦ㄤ竴璧蜂互寰楀埌瀹屾暣鐨勪俊鎭傝繖绉嶇粍鍚堢殑杩囩▼灏辨槸JOIN鎿嶄綔銆傞氳繃JOIN锛屽彲浠ユ牴鎹袱涓〃涓浉鍏崇殑鍒楀...
绛旓細SQL Join 鍏辨湁鍥涚杩炴帴鏂瑰紡锛欽OIN锛孡EFT JOIN锛孯IGHT JOIN锛孎ULL JOIN銆傚師濮嬬殑琛 (鐢ㄥ湪渚嬪瓙涓殑)锛歅ersons 琛細Id_PLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijingOrders 琛細Id_OOrderNoId_P177895324467833224561424562153476465鍐...
绛旓細鍐呰繛缁擄細鏁堢巼涓庣畝娲佽鐐逛竴: 鍐呰繛缁撶殑鍏抽敭鍦ㄤ簬FROM瀛愬彞锛屽畠濡傝皟鑹叉澘锛屽悓鏃惰瀺鍚堝寮犺〃锛屽 FROM ShopProduct AS SP INNER JOIN Product AS P锛岀‘淇濇瘡涓煡璇㈤兘鏈夋槑纭殑璧风偣銆傝鐐逛簩: ON瀛愬彞鍒欐槸杩炴帴鐨勭航甯︼紝濡 ON SP.product_id = P.product_id锛岃繖閲屾垜浠湅鍒扮殑鏄暟鎹棿鐨勫叡鍚屾爣璇嗐傝鐐逛笁: SELECT鍒...
绛旓細LEFT JOIN: 鍗充娇鍙宠〃涓病鏈夊尮閰嶏紝涔熶粠宸﹁〃杩斿洖鎵鏈夌殑琛 RIGHT JOIN: 鍗充娇宸﹁〃涓病鏈夊尮閰嶏紝涔熶粠鍙宠〃杩斿洖鎵鏈夌殑琛 FULL JOIN: 鍙鍏朵腑涓涓〃涓瓨鍦ㄥ尮閰嶏紝灏辫繑鍥炶 SQL INNER JOIN 鍏抽敭瀛 鍦ㄨ〃涓瓨鍦ㄨ嚦灏戜竴涓尮閰嶆椂锛孖NNER JOIN 鍏抽敭瀛楄繑鍥炶銆侷NNER JOIN 鍏抽敭瀛楄娉 SELECT column_name(s)FROM ...
绛旓細浜旂JOIN鏂瑰紡锛1.INNER JOIN or JOIN2.OUTER JOIN2.1LEFT OUTER JOIN or LEFT JOIN2.2RIGHT OUTER JOIN or RIGHT JOIN2.3FULL OUTER JOIN or FULL JOIN3.NATURAL JOIN4.CROSS JOIN5.SELF JOINPS:JOIN涓殑绠鍐欎负璇硶绯栵紝瀹為檯涓啓鍑烘潵鏂逛究璇讳竴鐐硅屽凡12345678910 涓ょ杩炴帴鏉′欢锛1.Equi JOIN 1....
绛旓細INNER JOIN璇硶濡備笅锛 FROM 琛1 INNER JOIN 琛2 ON 琛1.瀛楁1 姣旇緝杩愮畻瀛 琛2.瀛楁2 涓や釜琛ㄨ繛鎺ョ殑瀛楁锛岃濡 [琛1.瀛楁1=琛2.瀛楁2]锛屽繀椤诲叿鏈夌浉鍚岀殑瀛楁绫诲瀷锛屼絾鏄瓧娈靛悕绉颁笉闇瑕佺浉鍚屻 渚嬪锛岃嚜鍔ㄧ紪鍙峰瓧娈电被鍨嬪彲浠ヨ繛鎺ong 鐨勫瓧娈电被鍨嬶紝浣嗘槸鍗曠簿鏁存暟瀛楁绫诲瀷涓嶈兘杩炴帴鍙岀簿鏁存暟鐨勫瓧娈电被鍨嬨
绛旓細join:鍐呰繛鎺ワ紝鍙堝彨绛夊艰繛鎺ワ紝鍙繑鍥炰袱涓〃涓繛鎺ュ瓧娈电浉绛夌殑琛屻俧ull join:澶栬繛鎺ワ紝杩斿洖涓や釜琛ㄤ腑鐨勮锛歭eft join + right join cross join:缁撴灉鏄瑳鍗″皵绉紝灏辨槸绗竴涓琛ㄧ殑琛屾暟涔樹互绗簩涓〃鐨勮鏁般俤eclare a table(a int,b int)declare b table(a int,b int)insert a values(1,1)insert ...
绛旓細1: left outer join --涓嶈兘鐢╨eft out join 宸﹁〃涓殑璁板綍鍏ㄩ儴浼氬嚭鐜板湪缁撴灉闆嗕腑锛屽尮閰嶄笉涓婄殑鏄剧ずNULL 2: right outer join 鍙宠〃涓殑璁板綍鍏ㄩ儴浼氬嚭鐜板湪缁撴灉闆嗕腑锛屽尮閰嶄笉涓婄殑鏄剧ずNULL 3: full outer join|full join --涓嶈兘鐢╢ull out join 杩斿洖涓や釜琛ㄤ腑鐨勫尮閰嶅拰涓嶅尮閰嶇殑鎵鏈夎褰曘
绛旓細涓夈両NNER JOIN锛堝唴杩炴帴锛 鍐呰繛鎺ュ氨鐩稿綋浜庢櫘閫氱殑CROSS JOIN锛屽彧鏄牸寮忎笉涓鏍凤紝INNER JOIN鍦ㄥ悗闈㈡湁涓涓ON瀛愬彞锛堢浉褰撲簬WHERE锛夌殑鎼滅储鏉′欢锛岀敤浜庤繃婊よ繑鍥炵殑琛屻 鍥涖丱UTER JOIN 锛堝杩炴帴锛 select * from ta outer join tb on (ta.c1=tb.c1) outer join鍛婅瘔DBMS鐢熸垚缁撴灉琛紝鍦ㄦ琛ㄤ腑涓嶄粎甯︽湁鐩稿叧(t...
绛旓細鏁版嵁搴撲腑鐨凧OIN鎿嶄綔鏄疭QL璇█涓殑涓绉嶆牳蹇冨姛鑳斤紝鐢ㄤ簬鏍规嵁涓や釜鎴栧涓〃涓殑鍏卞悓瀛楁鏉ュ悎骞惰〃涓殑鏁版嵁銆侸OIN鎿嶄綔涓昏鏈変互涓嬪嚑绉嶇被鍨嬶細INNER JOIN锛堝唴杩炴帴锛夛紝瀹冭繑鍥炰袱涓〃涓尮閰嶇殑琛岋紱LEFT JOIN锛堝乏杩炴帴锛夋垨LEFT OUTER JOIN锛岃繑鍥炲乏琛ㄧ殑鎵鏈夎锛屽鏋滃彸琛ㄤ腑瀛樺湪鍖归厤锛屽垯杩斿洖杩欎簺琛岀殑鍖归厤椤癸紝鍚﹀垯杩斿洖NULL...