当前位置:首页 > SQL > 正文内容

mysql leftjoin 右表过滤数据

高老师5年前 (2020-12-27)SQL2155

当我进行left join查询时需要关联的右表需要过滤数据,我们不能再全局的where加条件,因为会影响最终结果,只需要再on后面加上and条件即可,例如

SELECT
	a.id,
	a.NAME,
	a.CODE,
	ifnull( b.id, 0 ) bid 
FROM
	`think_course` `a`
	LEFT JOIN `think_user_collect_course` `b` ON `a`.`id` = b.course_id 
	AND b.STATUS = 1 
WHERE
	`a`.`professions_id` = '113'

例如我只想要右表STATUS=1的数据进行连表查询,直接在on条件上面加where

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/346.html

分享给朋友:

“mysql leftjoin 右表过滤数据” 的相关文章

inner join 和 form a,b区别和速度

inner join 和 form a,b区别和速度

在项目中发现大量的form连接表,就开始质疑inner join 和 form a,b的性能问题。找到一份有价值的资料,特别记录:ANSI SQL规范首选INNER JOIN语法。此外,尽管使用WHERE子句定义联结的确比较简单,但是使用明确的联结语法能够确保不会忘记联结条件,有时候这样做也能影响性...

mysql变更字段值为另一张表的某个值

mysql变更字段值为另一张表的某个值

(1).下面是一张基本的会员表membermid      name    age 1 高峰 24 2 王小 19 3 韩星 24(2).下面是一张基本的会员日志表loglid  ...

mysql分组过滤

mysql分组过滤

(1).查询至少有2条订单的客户:SELECT cust_id, COUNT( * ) AS orders  FROM orders  GROUP BY cust_id  HAVING orders ...

mysql主键重复,不报错,只更新的操作

mysql主键重复,不报错,只更新的操作

项目中对接一个单点登陆的回调api,需要判断用户是否在库,不在库新增用户,在库更新登陆次数,大概代码如下:<?php $isExist = true; if ($isExist) {     insert([  &...

mysql查询缓存

mysql查询缓存

【一】.概念查询缓存,就是将查询结果缓存起来,如果遇到相同的Sql查询,直接从缓存中读取结果。例如在一个商城中的商品分类是不会经常变动的,完全可以走缓存,没必要每次从磁盘中读取。【二】.查询缓存开启状态执行Sql:show VARIABLES  like &n...

mysql find_in_set() 函数使用

mysql find_in_set() 函数使用

假设有个会员表,auth字段代表拥有的权限,其中1代表查看、2代表修改 、3代表新增  4代表删除,现在需要查询拥有新增权限的用户。先看看会员表:select * from memberid name auth 1 gao 1,2,3 2 chen 3 3 z...