首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql上的左连接和条件

问Mysql上的左连接和条件
EN

Stack Overflow用户
提问于 2015-11-27 20:01:31
回答 1查看 168关注 0票数 0

​

​

我想要这样一个查询,返回表1 jointest1中的所有行,以及与表2 jointest2匹配连接条件的行,但jointest2中重复的行除外

一个接一个的表应该看

​

​

查询将类似于

代码语言:javascript
复制
SELECT * FROM jointest1 LEFT JOIN jointest2 ON jointest1.id=jointest2.j1_id WHERE jointest2.id NOT IN ( 2 )

但是当我添加WHERE jointest2.id NOT IN ( 2 )左联接时,它只是返回行,即jointest1.id=jointest2.j1_id and NOT IN ( 2 )。

预先感谢您的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-27 20:03:42

left join运行良好。当对第二个表有一个条件时,它需要在on子句中执行:

代码语言:javascript
复制
SELECT *
FROM jointest1 LEFT JOIN
     jointest2
     ON jointest1.id = jointest2.j1_id AND
        jointest2.id NOT IN ( 2 );

否则,条件(甚至NOT IN)将返回NULL,将LEFT JOIN转换为INNER JOIN。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33964162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档