我想我已经为这一步做了尽可能多的事情
很难将下面的语句转换为Query。
从house_info中选择house_code
family_info中不存在house_info.house_code
house_code
是house_info
表中的主键和唯一键。
但是,house_code
中的family_info
不是唯一的,也不是主键(存在多个相同house_code
的数量)
与house_code
family_info
中不存在的house_info
个值
ex)house_info(1,2,3,4,5)中的house_code和family_info中的house_code(1,1,2,2,3)
结果:4,5
我尝试使用内部联接,如果不存在和许多其他查询但它似乎不能按我的意愿工作
我也试过
SELECT a.house_code FROM house_info a, family_info b WHERE a.house_code!=b.house_code;
答案 0 :(得分:1)
实现目标的一种可能方式
select house_code from house_info
where house_info.house_code not in (select house_code from family_info)
not in
表示“值不是这组值的一部分”,嵌套选择提供了一组值。
答案 1 :(得分:1)
SELECT house_code FROM house_info
WHERE house_code NOT IN (SELECT house_code FROM family_info)
按照你的例子:
SELECT house_code FROM house_info
==> (1,2,3,4,5)= A
(SELECT house_code FROM family_info)
==> (1,1,2,2,3)= B
A NOT IN B
==> (4,5)
答案 2 :(得分:1)
使用单边连接的简单方法:
select
h.house_code
from
house_info as h
left join family_info as f on h.house_code = f.house_code
where
f.house_code is null