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 查询以输出不存在的数据_Sql_Sql Server_Database - Fatal编程技术网

Sql 查询以输出不存在的数据

Sql 查询以输出不存在的数据,sql,sql-server,database,Sql,Sql Server,Database,表A: id Name 1 a 2 b 3 c 4 d 5 e 表B: id Name 3 c 4 d 5 e 这里,id是连接到表B的主键 我需要这样的输出:- id 1 2 这意味着,表A中的哪些ID不在表B中,使用而不是语句 试试这个:- Select id from TableA where id not in (Select id from TableB); 在语句中不使用 试试这个:- Se

表A:

   id   Name
    1   a
    2   b
    3   c
    4   d
    5   e
表B:

id  Name
3   c
4   d
5   e
这里,id是连接到表B的主键

我需要这样的输出:-

id 
1
2

这意味着,表A中的哪些ID不在表B中,使用
而不是
语句

试试这个:-

Select id from TableA
where id not in (Select id from TableB);

语句中不使用

试试这个:-

Select id from TableA
where id not in (Select id from TableB);

您可以使用
left join
,它将保留左侧的所有记录,并在右侧没有匹配记录时将它们与
null
关联。 这样,您就可以将右侧的列过滤为null,以获得所需的结果

select  t1.id
from    tableA t1
left join
        tableB t2
on      t1.id = t2.id
where   t2.id is null

您可以使用
left join
,它将保留左侧的所有记录,并在右侧没有匹配记录时将它们与
null
关联。 这样,您就可以将右侧的列过滤为null,以获得所需的结果

select  t1.id
from    tableA t1
left join
        tableB t2
on      t1.id = t2.id
where   t2.id is null

使用
运算符外的其他运算符:

select id from tableA
except
select id from tableB

使用
运算符外的其他运算符:

select id from tableA
except
select id from tableB

WHERE子句中不存在Use

  SELECT id FROM TableA A 
  WHERE NOT EXISTS(SELECT 1 FROM TableB B WHERE A.id = B.Id )

WHERE子句中不存在Use

  SELECT id FROM TableA A 
  WHERE NOT EXISTS(SELECT 1 FROM TableB B WHERE A.id = B.Id )

您可以使用
减号

select * from tableA 
minus 
select * from tableB

您可以使用
减号

select * from tableA 
minus 
select * from tableB

减号是非标准的,仅在某些DBMS(Oracle、Teradata等)中可用。SQL Server使用标准的
,除了
减去
是非标准的,仅在某些DBMS(Oracle、Teradata等)中可用。SQL Server使用标准的
,但
除外。