Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择SQL Server中其他表中不存在的值?_Sql_Sql Server - Fatal编程技术网

选择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
    )