我有2個表t1和t2和一箇中間表t2_has_t1鏈接這兩個表(多對多)。選擇所有不存在的中間表應該嵌套選擇
我想從t1中選擇所有未鏈接到t2(通過t2_has_t1)。我可以用嵌套選擇,但我想知道這是否可以用更有效的方式完成
這個小提琴顯示了我如何使用嵌套選擇。
http://sqlfiddle.com/#!2/fb9d81/2/0 (小提琴更新)
我有2個表t1和t2和一箇中間表t2_has_t1鏈接這兩個表(多對多)。選擇所有不存在的中間表應該嵌套選擇
我想從t1中選擇所有未鏈接到t2(通過t2_has_t1)。我可以用嵌套選擇,但我想知道這是否可以用更有效的方式完成
這個小提琴顯示了我如何使用嵌套選擇。
http://sqlfiddle.com/#!2/fb9d81/2/0 (小提琴更新)
如果你想要做一個單一的查詢,你可以使用一個連接,這樣的事情:
SELECT * FROM t1
LEFT JOIN t2_has_t1
ON t1.id_t1 = t2_has_t1.fk_t2
WHERE t2_has_t1.fk_t2 IS NULL
SELECT * FROM T1 LEFT JOIN t2_has_t1 ON t1.id_t1 = t2_has_t1.fk_t1 WHERE t2_has_t1.fk_t2 IS NULL; 修復duelisy的回答它的工作聲明。 – ptheofan