假设我有三个集合C1
,C2
和C3
,我希望C3
中的所有元素都在C1
但不在C2
中{1}}。
我试过了:
SELECT *
FROM C3
WHERE MyId IN (C1)
AND NOT IN (C2)
但是我收到了这个错误:
语法错误:在第1行第161列遇到“IN”
有什么建议吗?
由于
答案 0 :(得分:2)
假设C3
是一个表,而C1/C2
是列表,则需要:
SELECT * FROM C3 WHERE MyId IN (C1) AND MyId NOT IN (C2)
\__________/ \______________/
与and
或or
合并的每个子条件必须完整,即使它是同一列。例如,
select name from people
where gender in ('m','f')
and age not in (1, 3, 5, 7, 9)