MySQL连接查询INNER JOIN、LEFT JOIN、RIGHT JOIN
程序员文章站
2022-04-15 22:52:52
一、内连接(INNER JOIN) 获取两个表中字段匹配关系的记录,需要两个表都满足条件的数据才会返回。如下图阴影部分所示区域。 实例:有一张表table_a,数据如下: 表table_b,数据如下: 内连接SQL(也可以省略INNER,直接用JOIN): SELECT a.aid, a.aname ......
一、内连接(inner join)
获取两个表中字段匹配关系的记录,需要两个表都满足条件的数据才会返回。
如下图阴影部分所示区域。
实例:
有一张表table_a,数据如下:
表table_b,数据如下:
内连接sql(也可以省略inner,直接用join):
select a.aid, a.aname, b.bid, b.bname from table_a as a inner join table_b as b on a.aid = b.bid;
二、左连接(left join)
左表为主表,获取左表的所有记录,即使右表没有对应匹配的记录,右表没有匹配的记录字段会返回null,如下图阴影部分所示区域。
左连接sql:
select a.aid, a.aname, b.bid, b.bname from table_a as a left join table_b as b on a.aid = b.bid;
三、右连接(right join)
右连接和左连接正好相反,右连接以右表为主表,用于获取右表所有记录,即使左表没有对应匹配的记录,左表没有匹配的记录字段会返回null,如下图阴影部分所示区域。
右连接sql:
select a.aid, a.aname, b.bid, b.bname from table_a as a right join table_b as b on a.aid = b.bid;
推荐阅读
-
ThinkPHP采用原生query实现关联查询left join实例
-
Mysql inner join on的用法实例(必看)
-
sql的left join 、right join 、inner join之间的区别
-
数据库Left join , Right Join, Inner Join 的相关内容,非常实用
-
SQL联合查询inner join、outer join和cross join的区别详解
-
解析mysql left( right ) join使用on与where筛选的差异
-
MySQL中(JOIN/ORDER BY)语句的查询过程及优化方法
-
SQL中的left join right join
-
超详细mysql left join,right join,inner join用法分析
-
oracle中left join和right join的区别浅谈