gpt4 book ai didi

mysql - 仅选择第二个表中不存在的记录

转载 作者:行者123 更新时间:2023-11-29 10:28:26 25 4
gpt4 key购买 nike

我有一个 mysql table1,其中包含 hostname 字段和以下值:

HostName
-----
sa77.com
ca77cded.com
sa65yacd.com
ca65zededs.com
sa88y.com
sa99ujk8.com

我有另一个 table2,其中有 name 字段(带有主机名值)。

Name
-----
sa77
ca77cded.com
sa65yacd
ca65zededs.com

我想从表2中选择表1中不存在的记录

select * 
from table2
where name NOT IN (select hostname from table1);

两个表中的 namehostname 中的服务器名称可能是完全限定的,也可能不是完全限定的。例如,sa77 的值可以为 sa77.abc.comsa77.cdesa77。服务器可以有多个域值

sa77.abc.com 匹配 sa77sa77.abc 我基本上需要比较值 sa77 >

最佳答案

我通常使用左连接where is null来完成此操作,如下所示:

select * 
from table2
left join table1 on table2.name=table1.hostname
where table1.hostname is null;

(编辑是因为您希望记录来自 table2 而不是 table1,而不是相反。)

关于mysql - 仅选择第二个表中不存在的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47876113/

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