table1 table2 table3 Expected Result ------------- -------------- ------------- ------ | id | col1 | | id | col1 | | id | col1 | | id | ------------- -------------- ------------- ------ | 1 | val1 | | 2 | val1 | | 3 | val1 | | 1 | | 2 | val2 | | 2 | val2 | | 3 | val2 | | 6 | | 3 | val3 | | 4 | val1 | | 5 | val1 | ------ | 4 | val4 | | 4 | val2 | | 5 | val2 | | 5 | val5 | -------------- ------------ | 6 | val6 | -------------
我想選擇不在table2和table3中的table1的id。爲此,我寫了一個查詢,但執行時間太長。請給我一個更好的查詢。選擇兩個表中不存在的值
我已經使用的查詢是 SELECT DISTINCT(id) FROM table1 WHERE yacht_id NOT IN (SELECT id FROM table2 UNION SELECT id FROM table3 ORDER BY id)
你可以嘗試加入,然後基本上選擇在連接是空的所有值。 –