簡體   English   中英

如何從表中選擇數據不存在於另一個表sql中

[英]How to select data from the table not exist in another table sql

如何從表中選擇數據不存在於另一個表sql中。 我嘗試過NOT IN和NOT EXIST方法。 但它會導致大量數據的性能問題。 任何人都可以為此提出解決方案。? 提前致謝。

我嘗試了以下內容。

SELECT name 
FROM table1
WHERE NOT EXISTS 
    (SELECT * 
     FROM table2 
     WHERE table1.name = table2.name)

不是案件。 但是對於大量數據而言性能問題。

我認為你的table table1table2在其name列上有索引,所以你可以試試這個:

SELECT name
FROM table1 t1 LEFT JOIN table2 t2 ON t1.name = t2.name
WHERE t2.id IS NULL

可能是id列存在,如果不存在,請使用t2.name替換t2.id

對於此查詢:

SELECT name 
FROM table1
WHERE NOT EXISTS 
    (SELECT * 
     FROM table2 
     WHERE table1.name = table2.name)

你想要table2(name)上的索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM