mysql左连接和右连接_MYSQL 左连接与右连接

一、 LEFT JOIN

LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。

语法:

SELECT column_name(s)

FROM table1

LEFT JOIN table2

ON table1.column_name=table2.column_name;

1609ce2d52126f97761683dfbfbac0a2.png

举例:

下面是选自 "Websites" 表的数据:

ee02bd7a22ed94dcc81ed7d1951e4764.png

下面是 "access_log" 网站访问记录表的数据:

f8aa8e97fa576556937dfe5b7fcf9443.png

SELECT Websites.name, access_log.count, access_log.date

FROM Websites

LEFT JOIN access_log

ON Websites.id=access_log.site_id

ORDER BY access_log.count DESC;

结果:

4ca92a73af54ce9f544a66ac300af5b4.png

二、RIGHT JOIN

RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

语法:

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name=table2.column_name;

c9320a68c63dcc61405566d42f8c2ec6.png

举例

SELECT Websites.name, access_log.count, access_log.date

FROM access_log

RIGHT JOIN Websites

ON access_log.site_id=Websites.id

ORDER BY access_log.count DESC;


版权声明:本文为weixin_35189483原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。