加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

sql – 内部连接的对面

发布时间:2020-05-23 12:14:06 所属栏目:MsSql 来源:互联网
导读:内部联盟的对立面是什么?对于表表Person(int PersonId,varchar PersoName,int AddrId),我想知道Person中具有不良地址表中没有行的错误AddrId的行. What will be the opposite of inner join? 一个OUTER加入,可以有三个选项: 左 右 满 This is a good visual

内部联盟的对立面是什么?对于表表Person(int PersonId,varchar PersoName,int AddrId),我想知道Person中具有不良地址表中没有行的错误AddrId的行.

解决方法

What will be the opposite of inner join?

一个OUTER加入,可以有三个选项:

>左
>右
>满

This is a good visual representation of JOINs

I want to know the rows in Person with bad AddrId which don’t have a row in the Address table.

使用LEFT JOIN / IS NULL

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

使用NOT EXISTS

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)

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读