LEFT JOIN 关键字从左表(table1)return 所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
SQL LEFT JOIN 语法
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
或:
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
**注释:**在某些database中,LEFT JOIN 称为 LEFT OUTER JOIN。
![SQL LEFT JOIN][]
演示database
在本教程中,咱们将使用 liulianjiangcsdn 样本database。
下面是选自 “Websites” 表的数据:
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | 淘宝 | https://www.taobao.net/ | 13 | CN |
| 3 | liulianjiangcsdn教程 | http://blog.csdn.net/qq441540598/ | 4689 | CN |
| 4 | 微博 | http://weibo.net/ | 20 | CN |
| 5 | Facebook | https://www.facebook.net/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.net/ | 0 | IND |
+----+---------------+---------------------------+-------+---------+
下面是 “access_log” 网站访问记录表的数据:
mysql> SELECT * FROM access_log;
+-----+---------+-------+------------+
| aid | site_id | count | date |
+-----+---------+-------+------------+
| 1 | 1 | 45 | 2023-05-10 |
| 2 | 3 | 100 | 2023-05-13 |
| 3 | 1 | 230 | 2023-05-14 |
| 4 | 2 | 10 | 2023-05-14 |
| 5 | 5 | 205 | 2023-05-14 |
| 6 | 4 | 13 | 2023-05-15 |
| 7 | 3 | 220 | 2023-05-15 |
| 8 | 5 | 545 | 2023-05-16 |
| 9 | 3 | 201 | 2023-05-17 |
+-----+---------+-------+------------+
9 rows in set (0.00 sec)
SQL LEFT JOIN 实例
下面的 SQL 语句将return 所有网站及他们的访问量(如果有的话)。
以下实例中咱们把 Websites 作为左表,access_log 作为右表:
实例
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;
执行以上 SQL 输出结果请在输出结果查看
+------------------+-------+------------+
| name | count | date |
+------------------+-------+------------+
| Facebook | 545 | 2023-05-16 |
| Google | 230 | 2023-05-14 |
| liulianjiang教程 | 220 | 2023-05-15 |
| Facebook | 205 | 2023-05-14 |
| liulianjiang教程 | 201 | 2023-05-17 |
| liulianjiang教程 | 100 | 2023-05-13 |
| Google | 45 | 2023-05-10 |
| 微博 | 13 | 2023-05-15 |
| 淘宝 | 10 | 2023-05-14 |
| 百度 | NULL | NULL |
| stackoverflow | NULL | NULL |
+------------------+-------+------------+
**注释:**LEFT JOIN 关键字从左表(Websites)return 所有的行,即使右表(access_log)中没有匹配。
本专栏所有文章
寄语
本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598
- 科学的目的不在于为无穷的智慧打开大门,而是在无穷的谬误前面划一条界线。
- 为什么日食与月食出现时行善功德大呢?按藏传佛教的说法,人身上有业气与智慧气两种。一般情况下,人每天呼吸两万多次,其中多数都是业气,智慧气几乎没有。日食与月食出现时,大部分呼吸是智慧气,由于智慧气的正面力量的牵引,修法、行善的功德及加持力不可思议。因此藏传佛教很重视日食与月食等殊胜日。
- 工作开始让人难受,毫无幸福感可言,大概是又到年底了吧。
- 你想要什么样的生活,就去选择做什么样的事情。不论你现在放弃的是:荣华富贵的安逸生活、高薪自在的白领工作、漂亮可爱的女友、英俊潇洒的男友……只要你现在放弃了认为自己不开心的,就是在无形中选择了另一个艳阳天。
- 长期的困难生活,最能磨炼一个人的意志。有失去一切,你才能明白自己的力量和伟大。