我有一個mysql問題。比方說,比如我有兩個表具有以下值:顯示錶2中的值但不是表1中的值
- 表1:
apple, orange, banana, kiwi, jackfruit, mango, strawberry
- 表2:
apple, orange, banana, jackfruit
。
我的問題是如何讓一個查詢只會選擇/顯示值:
kiwi, mango, strawberry
任何人都可以提供示例代碼呢?
我有一個mysql問題。比方說,比如我有兩個表具有以下值:顯示錶2中的值但不是表1中的值
apple, orange, banana, kiwi, jackfruit, mango, strawberry
apple, orange, banana, jackfruit
。我的問題是如何讓一個查詢只會選擇/顯示值:
kiwi, mango, strawberry
任何人都可以提供示例代碼呢?
select column from table1 where column not in (select column from table2)
選項#1
SELECT table1.fruit FROM table1
LEFT JOIN table2
ON table1.fruit = table2.fruit
WHERE table2.fruit IS NULL
選項#2
SELECT table1.fruit FROM table1
WHERE NOT EXISTS (
SELECT 1 FROM table2
WHERE table2.fruit = table1.fruit
)
我不得不看解釋計劃召回這是更有效,但它真的取決於你所創建的任何索引。
對於'table2'中的大集合,* *效率極低* – Phil
@Phil即使'column'是表上的索引? – Icarus
謝謝,那麼,你將如何獲取/顯示查詢的值? – theglove