Mysql 谢谢你的答复。您的解决方案与创建的临时表完全相同。我目前正在使用(尽管我认为JOIN…WHERE…IS NULL比subselect快一点,不是吗?JOIN仅适用于相同的ids。在这种情况下,我想您需要放置一个左联接,以便在一个表中获取ids,而不是在另一

Mysql 谢谢你的答复。您的解决方案与创建的临时表完全相同。我目前正在使用(尽管我认为JOIN…WHERE…IS NULL比subselect快一点,不是吗?JOIN仅适用于相同的ids。在这种情况下,我想您需要放置一个左联接,以便在一个表中获取ids,而不是在另一,mysql,sql,select,Mysql,Sql,Select,谢谢你的答复。您的解决方案与创建的临时表完全相同。我目前正在使用(尽管我认为JOIN…WHERE…IS NULL比subselect快一点,不是吗?JOIN仅适用于相同的ids。在这种情况下,我想您需要放置一个左联接,以便在一个表中获取ids,而不是在另一个表中。我单击了您的答案作为已接受的答案。感谢所有回复的人/托马斯:对不起,我澄清了我的帖子。它来自另一个源(csv文件)-而不是另一个数据库(我已经在临时表中使用左JOIN/IS NULL)。我正在寻找一个解决方案,我不需要创建一个临时表,并


谢谢你的答复。您的解决方案与创建的临时表完全相同。我目前正在使用(尽管我认为JOIN…WHERE…IS NULL比subselect快一点,不是吗?
JOIN
仅适用于相同的
id
s。在这种情况下,我想您需要放置一个
左联接
,以便在一个表中获取
id
s,而不是在另一个表中。我单击了您的答案作为已接受的答案。感谢所有回复的人/托马斯:对不起,我澄清了我的帖子。它来自另一个源(csv文件)-而不是另一个数据库(我已经在临时表中使用左JOIN/IS NULL)。我正在寻找一个解决方案,我不需要创建一个临时表,并这样做。对不起,我澄清了我的帖子一点。它来自另一个源(csv文件)-而不是另一个数据库(我已经在临时表中使用左JOIN/IS NULL)。我正在寻找一个解决方案,我不需要创建一个临时表,并做到这一点。谢谢,当然,我会这样做-请阅读帖子(写aon)。嗨,蒂姆,非常感谢你的回复。当然,这个故事还有更多的内容,但我一直很肤浅,因为我认为主要问题很简单,比如“是否有疑问?”。从这里的回复来看,这似乎是不存在的,我的临时表是最好的方式。错误地按了两下enter。。。嗨,蒂姆,非常感谢你的回复。当然,这个故事还有更多的内容,但我一直很肤浅,因为我认为主要问题很简单,比如“是否有疑问?”。从这里的回复来看,这似乎是不存在的,我的临时表是最好的方式。具体地回答你的段落:我确实知道是哪个系统创造了什么,如果不是我自己的,那就是“另一个”。重复的ID也不是问题(它得到了关注)。目前不可能只有一个系统。另一个系统是本地化的windows应用程序,这对我们公司至关重要。我对此无能为力(除了一些从中导出信息的黑客),所以。。。我只是想知道我怎样才能对自己的数据库温和地进行查询。干杯
select second_table.id
from second_table
    left join first_table on first_table.id = second_table.id
where first_table.is is null
select second_table.id
from second_table
where second_table.id not in (
    select first_table.id
    from first_table
)
select second_table.id
from second_table
where not exists (
    select 1
    from first_table
    where first_table.id = second_table.id
)
SELECT id
FROM table_one
WHERE id NOT IN ( SELECT id FROM table_two )
SELECT id
FROM table_one
WHERE id NOT IN ( 1,2,3,...,n );
CREATE TABLE my_temp_table(
   ids INT,
);
LOAD DATA LOCAL INFILE 'yourIDs.csv' INTO TABLE my_temp_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(ids);
SELECT ids FROM my_temp_table
WHERE ids NOT IN ( SELECT id FROM table_one )
DROP TABLE IF EXISTS my_temp_table
-- find ids from user (1,2,3) that *don't* exist in my person table
-- build a pseudo table and join it with my person table
select pseudo.id from (
  select '1' as id from dual
  union select '2' as id from dual
  union select '3' as id from dual
) pseudo
left join person
  on person.person_id = pseudo.id
where person.person_id is null