小编典典

与内部联接相反

sql

内部联接的对立面是什么?对于一个表表Person (int PersonId, varchar PersoName, int AddrId),我想知道Person不好AddrIdAddress表中没有行的行。


阅读 185

收藏
2021-04-15

共1个答案

小编典典

内部联接的对立面是什么?

OUTER联接,可以有以下三种选择:

  • 剩下
  • 正确的
  • 满的

我想知道Person中具有不良AddrId的行,而该行在Address表中没有任何行。

使用LEFT JOIN / IS NULL

   SELECT p.*
     FROM PERSON p
LEFT JOIN ADDRESS a ON a.addrid = p.addrid
    WHERE a.addrid IS NULL

使用不存在

SELECT p.*
  FROM PERSON p
 WHERE NOT EXISTS(SELECT NULL
                    FROM ADDRESS a
                   WHERE a.addrid = p.addrid)

使用NOT IN

SELECT p.*
  FROM PERSON p
 WHERE p.addrid NOT IN (SELECT a.addrid
                          FROM ADDRESS a)
2021-04-15