数据库
首页 > 数据库> > mysql外连接 – 确定连接的行是否存在

mysql外连接 – 确定连接的行是否存在

作者:互联网

我有两个具有相同主键的表,但是一个比另一个大得多.我想知道哪些ID在较小的表中有一行. (在示例中,a很大而b很小).现在,我正在使用带有CASE的OUTER JOIN来确定b值是否为NULL.它不起作用(总是得到1).修复此问题会很好,但必须有更好的方法.我该怎么办?

SELECT a.id,
       CASE b.id
         WHEN NULL THEN 0
         ELSE 1
         END AS exists
FROM a LEFT OUTER JOIN b
  ON a.id=b.id;

解决方法:

这与您展示的内容具有相同的逻辑,但代码更短:

SELECT a.id,NOT ISNULL(b.id) AS exists
FROM a LEFT OUTER JOIN b
  ON a.id=b.id;

标签:outer-join,mysql
来源: https://codeday.me/bug/20190723/1515494.html