gpt4 book ai didi

sql - SQL中如何连接多个select语句

转载 作者:行者123 更新时间:2023-12-04 23:24:22 25 4
gpt4 key购买 nike

我想知道如何在 1) 样式和 2) 性能方面改进这种形式的查询。以防万一,我使用 Oracle 作为我的数据库。此外,此查询的目的是从第一个 select 语句中选择所有记录,这些记录在 LEFT JOIN 右侧的记录集中没有相应的记录。来自 ColumnA 的记录在任何表中不一定是唯一的。

select ColumnA
from
(Select ColumnA
from Table1)
left join
((select ColumnA, ColumnB
from Table2)
union
(select ColumnA, ColumnB
from Table3))
using (ColumnA)
where ColumnB is null
group by ColumnA;

谢谢你。

最佳答案

我认为您可以将此查询重写为以下内容(请参阅此 SQL Fiddle ):

SELECT  DISTINCT ColumnA
FROM (SELECT ColumnA
FROM Table1)

MINUS

(SELECT ColumnA
FROM Table2
UNION
SELECT ColumnA
FROM Table3);

至于样式,我建议使用显式连接条件语法 LEFT JOIN ... ON table1.somecolumn = table2.someothercolumn而不是 USING条件,以提高可读性和清晰度。但这很可能是个人喜好:-)

关于sql - SQL中如何连接多个select语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15581236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com