首页 > 数据库技术 > 详细

MySQL 左关联右表条件查询

时间:2019-12-06 13:51:55      阅读:112      评论:0      收藏:0      [点我收藏+]

MySQL的新知识:

之前数据库没学好,不知道LEFT JOIN ON后边可以加条件

首先业务是有个A表,然后会依据A表信息来在B表生成一条对应数据,

操作时候展示A表数据,如果B表已经有对应数据,显示数据,如果没有,则可以新增数据。

B表中有保存A表的ID。

SELECT
	a.id AS "a.id",
	a.CODE AS "a.code",
	b.id AS "b.id",
	b.CODE AS "b.code",
	b.a_id AS "b.aID" 
FROM
	a
	LEFT JOIN b ON b.a_id = a.id

查询结果:

技术分享图片

 

 现在要求是要B的数据下游会操作,如果数据有问题就会作废掉,这里就用code来标识,当code为1时,就说明这条数据是作废的。

在上游的显示中,就是A依然有数据,但B为空。

最开始在where条件中写,SQL:

SELECT
	a.id AS "a.id",
	a.CODE AS "a.code",
	b.id AS "b.id",
	b.CODE AS "b.code",
	b.a_id AS "b.aID" 
FROM
	a
	LEFT JOIN b ON b.a_id = a.id 
WHERE
	b.CODE = ‘0‘

 查询结果:

技术分享图片

 

很明显就数据丢了一条,达不到目的,突然间一个思路,where条件能否放到LEFT JOIN ON的后边,试了一下,效果有了:

SELECT
	a.id AS "a.id",
	a.CODE AS "a.code",
	b.id AS "b.id",
	b.CODE AS "b.code",
	b.a_id AS "b.aID" 
FROM
	a
	LEFT JOIN b ON b.a_id = a.id 
	AND b.CODE = ‘0‘

查询结果:

技术分享图片

 

 

还是第一次意识到LEFT JOIN ON后边的条件可以用AND来实现多个

MySQL 左关联右表条件查询

原文:https://www.cnblogs.com/JillisRealM/p/11994502.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!