UNION和OR之间的功能区别是什么?

时间:2019-04-05 16:24:15

标签: sql oracle

我想知道UNION中的ORWHERE是否有区别?

UNION语句与两个不同的表一起使用:

SELECT A.col
FROM A, B1
WHERE A.col = B1.col
UNION
SELECT A.col
FROM A, B2
WHERE A.col = B2.col

使用或在WHERE语句中

SELECT A.col
FROM A, B1, B2
WHERE A.col=B1.col or A.col=B2.col

除了性能差异外,它们的含义是否有差异?

1 个答案:

答案 0 :(得分:0)

这些查询完全不同。首先,您应该学习使用正确的显式JOIN语法。

如果您运行它们-即使在测试表上-也会很快发现差异。

例如,union查询将删除重复项。 or查询没有。

or查询执行表的笛卡尔积。因此,如果任何表为空(例如B1B2),则不会返回任何行。 union将返回其他两个表中的值。