SQL哪个元素不包含与X的n2m关系
我在SQL中有一个n到m的关系,如下所示: 表A:SQL哪个元素不包含与X的n2m关系,sql,sql-server-2005,sql-server-2008,Sql,Sql Server 2005,Sql Server 2008,我在SQL中有一个n到m的关系,如下所示: 表A: Id 1 2 3 表B: Id 1 2 3 关系表AB: Id_A Id_B 1 1 1 3 2 3 这意味着Id为1的表A中的对象与Id为1的表B中的对象相关,同时A:1与B:3以及A:2与B:3相关 现在,我试图完成的是从表A中获取所有与B:1没有关系的ID。这应该返回A:2和A:3 我怎样才能做到这一点 SELECT id FROM TableA EXCEPT SELEC
Id
1
2
3
表B:
Id
1
2
3
关系表AB:
Id_A Id_B
1 1
1 3
2 3
这意味着Id为1的表A中的对象与Id为1的表B中的对象相关,同时A:1与B:3以及A:2与B:3相关
现在,我试图完成的是从表A中获取所有与B:1没有关系的ID。这应该返回A:2和A:3
我怎样才能做到这一点
SELECT id
FROM TableA
EXCEPT
SELECT Id_A
FROM TableAB
WHERE Id_B=1
或者(如果需要表A中未显示的其他列)
SELECT a.id /*,a.foo, a.bar*/
FROM TableA a
WHERE NOT EXISTS(SELECT *
FROM TableAB ab
WHERE ab.Id_B=1 AND ab.Id_A=a.Id)