gpt4 book ai didi

mysql - 从列(联合)Sql 中查找不匹配的记录

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:39 26 4
gpt4 key购买 nike

我需要找到两列之间不匹配的记录。

我有这个问题:

select iNum 
from doc_file_fs
where iNum not in
(select iFile from doc_client_fs)
union (select iFile from doc_employee_fs)
union (select iFile from doc_prov_fs)
UNION (select iFile from doc_soc_fs)
UNION (select iFile from doc_cor_fs)

但只能从第一个选择中找到一个,而不是其他联合...

拜托,我需要帮助,我是新来的,如果问题格式不正确,请耐心等待:C

最佳答案

我强烈建议您像这样编写查询:

select iNum 
from doc_file_fs df
where not exists (select 1 from doc_client_fs dc where df.iNum = dc.iFile) and
not exists (select 1 from doc_employee_fs de where df.iNum = de.iFile) and
not exists (select 1 from doc_prov_fs dp where df.iNum = dp.iFile) and
not exists (select 1 from doc_cor_fs ds where df.iNum = ds.iFile) and
not exists (select 1 from doc_employee_fs de where df.iNum = de.iFile) and
not exists (select 1 from doc_cor_fs dc where df.iNum = dc.iFile) ;

这可以利用每个其他表上的 ifile 上的索引。这应该比使用 unionnot in 的版本快得多。

关于mysql - 从列(联合)Sql 中查找不匹配的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50164327/

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