我可以在SELECT EXISTS()中使用多个查询吗?

时间:2017-09-15 22:36:07

标签: sql pdo

是否可以在SQL EXISTS()内编写多个查询?

就像这个例子一样

SELECT 
    EXISTS (SELECT a FROM at WHERE X = :X;
            SELECT b FROM bt WHERE Y = :Y;
            SELECT C FROM ct WHERE Z = :Z;
           )

如果有可能,这是检查多个表中元素是否存在的最佳方法?或使用UNION ALLJOIN会更好吗?

1 个答案:

答案 0 :(得分:1)

使用OR

EXISTS (SELECT a FROM at WHERE X = :X) OR
EXISTS (SELECT b FROM bt WHERE Y = :Y) OR
EXISTS (SELECT C FROM ct WHERE Z = :Z)

这通常位于WHERECASE,而不是SELECT

您可以使用UNION ALL,但这通常会更有效。