选择SQL Server中其他表中不存在的值?
我有两张桌子选择SQL Server中其他表中不存在的值?,sql,sql-server,Sql,Sql Server,我有两张桌子 如何获得更多信息,如姓名和性别 @A ID Name Gender ..... 1 A 2 B 3 C 5 D 6 E @B ID PosID 3 1 5 2 我使用此sql进行查询 SELECT ID FROM A EXCEPT SELECT ID FROM B; 我从结果中得到了这个 ID 1 2 6 尝试使用不存在,例如: SELECT * FROM a WHERE NOT EXISTS (SELECT 1
如何获得更多信息,如姓名和性别
@A
ID Name Gender .....
1 A
2 B
3 C
5 D
6 E
@B
ID PosID
3 1
5 2
我使用此sql进行查询
SELECT ID
FROM A
EXCEPT
SELECT ID
FROM B;
我从结果中得到了这个
ID
1
2
6
尝试使用
不存在
,例如:
SELECT *
FROM a
WHERE NOT EXISTS (SELECT 1
FROM b
WHERE a.id = b.id);
或者使用
左外连接
。或者不在
尝试使用不存在
,例如:
SELECT *
FROM a
WHERE NOT EXISTS (SELECT 1
FROM b
WHERE a.id = b.id);
或者使用左外连接
。或者不在
中这样试试
左连接
SELECT L.*
FROM Table1 L
LEFT JOIN
Table2 R
ON R.ID = L.ID
WHERE R.ID IS NULL
SELECT L.*
FROM Table1 L
WHERE L.ID NOT IN
(
SELECT ID
FROM Table2 R
)
不在
SELECT L.*
FROM Table1 L
LEFT JOIN
Table2 R
ON R.ID = L.ID
WHERE R.ID IS NULL
SELECT L.*
FROM Table1 L
WHERE L.ID NOT IN
(
SELECT ID
FROM Table2 R
)
不存在
SELECT L.*
FROM Table1 L
WHERE NOT EXISTS
(
SELECT NULL
FROM Table2 R
WHERE R.ID = L.ID
)
像这样试试
左连接
SELECT L.*
FROM Table1 L
LEFT JOIN
Table2 R
ON R.ID = L.ID
WHERE R.ID IS NULL
SELECT L.*
FROM Table1 L
WHERE L.ID NOT IN
(
SELECT ID
FROM Table2 R
)
不在
SELECT L.*
FROM Table1 L
LEFT JOIN
Table2 R
ON R.ID = L.ID
WHERE R.ID IS NULL
SELECT L.*
FROM Table1 L
WHERE L.ID NOT IN
(
SELECT ID
FROM Table2 R
)
不存在
SELECT L.*
FROM Table1 L
WHERE NOT EXISTS
(
SELECT NULL
FROM Table2 R
WHERE R.ID = L.ID
)