【发布时间】:2019-03-20 23:08:41
【问题描述】:
以下两个查询分别返回大约十条记录。
SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE = 300618
SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE = 310718
但是,当我将两个查询结合在一起运行时
SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE = 300618
OR DATE = 310718
它返回数十万条记录。这怎么可能?
【问题讨论】:
-
条件周围需要括号。
-
假设常识优先规则,您的查询与
(ACC_NO IN (1, 2, 3, 4, 5) AND DATE = 300618) OR (DATE = 310718)相同
标签: sql conditional teradata