有关外键依赖关系的SQL查询

时间:2018-08-03 10:15:26

标签: sql

我有两个表,表A和表B。两个表都有“ Id”列。表B依赖于此“ Id”(外键)。所以我想检索B中不存在的行。

3 个答案:

答案 0 :(得分:3)

您似乎想要:

select a.*
from tablea a
where not exists (select 1 from tableb b where b.id = a.id);

答案 1 :(得分:2)

这应该适用于所有SQL版本:

select t1.*
from TableA t1
left join TableB t2
on t1.id = t2.id
where t2.id is null

答案 2 :(得分:0)

创建表TableA (  ID INT,  [名称] Varchar(500) ) 插入INTO TableA值(1,'詹姆斯') 插入INTO TableA值(2,'John') 将INTO插入TableA值(3,'Betty') 将INTO插入TableA值(4,“ Sherlin”)

创建表TableB (  TableBID INT,  ID INT,  瓦尔沙项目(250) ) 插入INTO TableB值(1,1,'ABC') 插入INTO TableB值(2,1,'XYZ') 插入INTO TableB值(3,2,'ASD') 插入INTO TableB值(4,1,'VGF') 插入INTO TableB值(5、3,'ABC') 插入INTO TableB值(6、3,'XYZ') 插入INTO TableB值(7,2,'FGH')

选择*从表A 存在的地方(从表B中选择1 b b,其中b.id = a.id); 或

SELECT *从TABLEA中输入ID(从TableB中选择ID);

DROP TABLE TABLEA 删除表格表