è¿æ¥è¿ç®æ¯8ç§å ³ç³»è¿ç®ä¸çä¸ç§ã
äºç§JOINæ¹å¼ï¼
1.INNER JOIN or JOIN2.OUTER JOIN
2.1LEFT OUTER JOIN or LEFT JOIN
2.2RIGHT OUTER JOIN or RIGHT JOIN
2.3FULL OUTER JOIN or FULL JOIN3.NATURAL JOIN4.CROSS JOIN5.SELF JOINPS:JOINä¸çç®å为è¯æ³ç³ï¼å®é
ä¸ååºæ¥æ¹ä¾¿è¯»ä¸ç¹èå·²12345678910
两ç§è¿æ¥æ¡ä»¶ï¼
1.Equi JOIN 1.1NATURAL 1.2USING(a,b) 1.3= ...2.Theta JOIN 2.1>= 2.2<= 2.3> ...PS:USING(...)æå®éè¦åªäºåç¸çãONåå¯ä»¥æå®ä»»æçè¿æ¥æ¡ä»¶(=,>=,<=,!=,>,<...)123456789101112
JOIN or INNER JOIN
è¿å两个表ä¸åæ¶æ»¡è¶³æ¡ä»¶çå ç»å¯¹ï¼ä¸æ»¡è¶³çå°è¢«ä¸¢å¼ã
OUTER JOIN
LEFT OUTER JOIN
è¿å左表ææè¡ä»¥åå³è¡¨æ»¡è¶³æ¡ä»¶çè¡ï¼å·¦è¡¨æå¼å³è¡¨æ å¼å¡«å 为null
RIGHT OUTER JOIN
è¿åå³è¡¨ææè¡ä»¥å左表满足æ¡ä»¶çè¡ï¼å³è¡¨æå¼å·¦è¡¨æ å¼å¡«å 为null
FULL OUTER JOIN
è¿åææ表çææè¡ï¼å¨æ»¡è¶³æ¡ä»¶çè¡ä¹å¤ï¼å·¦è¡¨æ»¡è¶³å³è¡¨ä¸æ»¡è¶³æè ç¸åï¼åå¡«å null
NATURAL JOIN
1ãæ¥èªä¸¤ä¸ªå
³ç³»çå
ç»å¯¹å¨å
±åå±æ§ä¸çå¼ç¸åãï¼ä¸éäºä¸ä¸ªå
±åå±æ§ï¼ä¹å¯ä»¥æ¯å¤ä¸ªå
±åå±æ§ï¼
2ãå»æéå¤çå±æ§ï¼åï¼ã
3ãååºå±æ§ç顺åºï¼å
æ¯å
±åå±æ§ï¼ç¶åæ¯ç¬¬ä¸ä¸ªå
³ç³»çå±æ§ï¼æåæ¯ç¬¬äºä¸ªå
³ç³»çå±æ§ã
为äºé²æ¢ä¸¤ä¸ªè¡¨æå¤ä¸ªå
±åå±æ§æ¶natural join ä¼å¿½ç¥é¨åéè¦çå
ç»å¯¹ï¼åºä½¿ç¨joinâ¦using(â¦)ï¼ä»¥æå®éè¦åªäºåç¸ç
joinâ¦using(â¦)è¿æ¥åªè½å±éå¨æå®çå±æ§ä¸
CROSS JOIN
è¿åç¬å¡å¿ç§¯
SELF JOIN
ç¸å½äºA JOIN A
SQL join 用于把来自两个或多个表的行结合起来。
SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。 SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。
实例:
from 树懒学堂
以上即“Websites”表中的“id”列指向“access_log”表中的字段“site_id”。上面这两个表是通过“site_id”列联系起来的。
不同的 SQL JOIN
您可以使用的不同的 SQL JOIN 类型:
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行