首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Mysql常用sql语句(17)- left right join 外连接

测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 外连接分为两种:left join、right join...可以省略,只写 、 right join leftjoin on是设置左连接的连接条件,不能省略 先看看dept、emp表有什么数据 dept表 ?...left join 的栗子 SQL分析 主表:emp 从表:dept 根据 emp 表的员工 dept_id 和 dept 表的部门 id 进行匹配 因为 emp 是主表,所以最后两条记录的 dept_id...left join + where 的栗子 SQL分析 主表:emp 从表:dept 若不看where,前面的查询结果和上面的栗子一样 where的作用:将上面的查询结果集进行过滤,最终只返回 id 是...SQL分析 主表:dept 从表:emp 根据 dept 表的 id 和 emp 表的 dept_id 进行匹配 因为 dept 是主表,所以最后两条记录的 id 在 emp 表没有匹配到 dept_id

1.3K10

sql之left join、right join、inner join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接...2006032403 4     2006032404 8     2006032408 -------------------------------------------- 1.left join sql...B表记录不足的地方均为NULL. -------------------------------------------- 2.right join sql语句如下: select * from A...right join B on A.aID = B.bID 结果如下: aID     aNum     bID     bName 1     a20050111    1     2006032401...join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充. -------------------------------------------- 3.inner join sql

1.8K30

sql之left join、right join、inner join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接)...2006032403 4     2006032404 8     2006032408 -------------------------------------------- 1.left join sql...B表记录不足的地方均为NULL. -------------------------------------------- 2.right join sql语句如下: select * from A...right join B on A.aID = B.bID 结果如下: aID     aNum     bID     bName 1     a20050111    1     2006032401...join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充. -------------------------------------------- 3.inner join sql

1.5K80

sql之left join、right join、inner join的区别

SQL JOINS: Please refer the link : https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins...left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录  right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接)...2006032403 4     2006032404 8     2006032408 -------------------------------------------- 1.left join sql...B表记录不足的地方均为NULL. -------------------------------------------- 2.right join sql语句如下:  select * from A...right join B  on A.aID = B.bID 结果如下: aID     aNum     bID     bName 1     a20050111    1     2006032401

1.6K30

sql连接查询(inner join、full join、left join、 right join)

sql连接查询(inner join、full join、left join、 right join) 一、内连接(inner join) 首先我这有两张表 1、顾客信息表customer ?...从结果可以很清楚的明白左连接的含义: 将左边表的所有记录拿出来,不管右边表有没有对应的记录 三、右连接(right join) 需求:查询哪个顾客(customer_name)在哪一天(create_time...)消费了多少钱(money) sql语句: select c.customer_name, o.create_time, o.money from customer c right join orders...orders o on c.id = o.customer_id UNION select c.customer_name, o.create_time, o.money from customer c right...从sql语句中可以清楚的看到: 使用UNION关键字将左连接和右连接,联合起来

4.1K40

SQL学习笔记之SQL中INNER、LEFT、RIGHT JOIN的区别和用法详解

0x01 INNER JOIN操作 首先,我们看看INNER JOIN操作,我们写个SQL语句,查询学生表中哪些学生受过处分: ?...分析一下上面SQL语句的执行结果,我们的查询条件是“STU.STUDENT_ID=P.STUDENT_ID”,即学生表和处分表都有的STUDENT_ID的结果集,很明显,2014000002、2014000006...0x02 LEFT JOIN操作 我们写个分析LEFT JOIN操作的SQL: ?...0x03 RIGHT JOIN操作 分析过LEFT JOIN了,RIGHT JOIN相信你也已经明白了,“A LEFT JOIN B ON ……”是将符合ON条件的B表搜索结果合并到A表中,作为一个结果集输出...而RIGHT JOIN刚好相反,“A RIGHT JOIN B ON ……”是将符合ON条件的A表搜索结果合并到B表中,作为一个结果集输出: ?

1.1K20

sql语法:inner join on, left join on, right join on具体用法

大家好,又见面了,我是全栈君 inner join(等值连接) 仅仅返回两个表中联结字段相等的行 left join(左联接) 返回包含左表中的全部记录和右表中联结字段相等的记录 right join...JOIN 能够嵌套在 INNER JOIN 之中,可是 INNER JOIN 不能嵌套于 LEFT JOIN 或 RIGHT JOIN 之中。...2006032403 4 2006032404 8 2006032408 实验例如以下: 1.left join sql...B表记录不足的地方均为NULL. 2.right join sql语句例如以下: select * from A right join B on A.aID = B.bID 结果例如以下: aID...所影响的行数为 5 行) 结果说明: 细致观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充. 3.inner join sql

1.3K10

sql语句中的left join,right join,inner join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接...2006032403 4     2006032404 8     2006032408 -------------------------------------------- 1.left join sql...B表记录不足的地方均为NULL. -------------------------------------------- 2.right join sql语句如下: select * from...A right join B on A.aID = B.bID 结果如下: aID     aNum     bID     bName 1     a20050111    1     2006032401...join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充. -------------------------------------------- 3.inner join sql

1.1K60

如何在 SQL 中使用 LEFT、RIGHT、INNER、OUTER、FULL 和 SELF JOIN?

SQL,作为与关系数据库通信的一种方法,允许您在表之间创建关系. 本文介绍如何使用 SQL 来连接表。 SQL JOIN 的类型 左连接、内连接、完全连接、自连接和交叉连接是其他五种主要连接类型。...JOIN 右连接与左连接相同,除了 RIGHT JOIN 子句返回表中的所有行,而 FROM 子句只返回表中匹配的行。...因为 RIGHT JOIN 的结果可以通过在 LEFT JOIN 中交换两个连接的表名来实现,所以很少使用 RIGHT JOIN。...gt RIGHT JOIN Country_Code cc ON gt.country_code = cc.fips_code SELF JOIN 我们使用自连接来处理一元关系,因为它将表链接到自身。...我希望通过阅读这篇文章,您将能够通过合并表来提高您的基本 SQL 能力并执行更复杂的分析。 SQL 连接是一个非常重要的主题,不仅对于您的日常工作,而且对于编程工作面试也是如此。

1.9K40
领券