SQL LEFT JOIN 关键字

LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(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;

注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。

pangugle_news_category 表样本数据

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin
2 盘古歌 盘古歌技术 2020-09-16 18:12:31 admin
3 Google 谷歌公司 2020-09-16 18:12:56 u1
4 阿里巴巴 阿里巴巴公司 2020-09-16 18:13:20 u1
5 qq 腾讯公司 2020-09-16 18:13:36 u1
6 字节跳动 字节跳动公司 2020-09-16 20:12:31 u2

pangugle_news_article 文章表数据

article_id article_category_id article_title article_desc article_createtime article_admin
1 1 百度文章 百度文章描述 2020-09-17 11:22:54 u1
2 2 盘古文章 盘古文章描述 2020-09-17 11:23:46 u2
3 3 Google 文章 Google文章描述 2020-09-17 11:24:57 u3

SQL LEFT JOIN 实例

以下实例中我们把 pangugle_news_category pangugle_news_article 作为右表:

实例

select A.*, B.article_title from pangugle_news_category as A
left JOIN pangugle_news_article as B on  A.category_id = B.article_category_id
where A.category_id = 1;

执行以上 SQL 输出结果如下:

category_id category_title category_desc category_createtime category_admin article_title
1 百度 百度公司 2020-09-16 18:09:52 admin 百度文章