首页 > 技术文章 > mysql联表查询时on 后面添加 and条件

chwl-ljx 2021-12-16 16:53 原文

1.on 后面添加关联条件 where 添加的是添加查询

这个是一个左查询 使用的是 select a和b表的关联条件查出来的结果再去where 条件查询
select * from event a LEFT JOIN event_time b on a.event_id=b.event_id where a.event_id=2 and a.event_name='吃'

这是on后面添加的and条件:相当于a 表带上a.event_name='吃' 的结果 才去与 b表去关联查询
区别:1.where时a表数据=5,关联之后数据是5条与b表关联
   2.on and 时 a表数据=5 加上 and 那么a表数据为3条去和b表去关联查询
select * from event a LEFT JOIN event_time b on a.event_id=b.event_id and a.event_name='吃'

总结:on后面的and是关联条件,select * from a where a.event_name='吃'和b表去关联
如果是where就变成了 select * from a 和b表去关联之后的数据去where 条件。。。

推荐阅读