SQL高效的方式实现不是任何的

时间:2016-11-17 12:49:35

标签: sql tsql join many-to-many

假设我们有三个表,一个用于人(person_id,person_name,street_name,...),一个用于城区(district_id,district_name,...),一个用于区域街道1-N对( district_id,street_name)。我想选择那些不住在特定区域的人(由district_name标识)(T-SQL环境)。

 SELECT P.Person_id
   FROM persons P
   JOIN Districts D on D.Name='1. district'
   JOIN Districts_Streets S on S.District_ID=D.District_ID
   WHERE ????

1 个答案:

答案 0 :(得分:4)

不会<>做你想做的事吗?

SELECT P.Person_id
FROM persons P JOIN
     Districts_Streets S 
     ON P.street_name = S.street_name JOIN
     Districts D 
     ON S.District_ID = D.District_ID
WHERE D.Name <> '1. district';

您需要正确设置连接。