MySQL 是一款流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。Query 是 MySQL 數(shù)據(jù)庫(kù)的核心組成部分之一,有時(shí)候你需要查找一個(gè)表中不在另一個(gè)表中的記錄。MySQL 反查詢可以解決這個(gè)問題。
反查詢?cè)?MySQL 中使用NOT IN
和LEFT JOIN
兩種方式實(shí)現(xiàn)。
SELECT column_name FROM table_name WHERE column_name NOT IN (SELECT column_name FROM table_name); SELECT table1.column_name FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name WHERE table2.column_name IS NULL;
第一種方式使用NOT IN
子句,首先將需要篩選的列的值按照你想要的方式篩選出來。接著,在主查詢中使用NOT IN
當(dāng)作篩選條件,查詢這個(gè)列值不在篩選結(jié)果集中的行。
第二種方式是使用一個(gè)內(nèi)聯(lián)的查詢操作。首先使用LEFT JOIN
連接兩個(gè)表,然后使用IS NULL
當(dāng)作篩選條件,查詢左邊表中不存在的那些行。
無論是哪種方法,反查詢能夠在 MySQL 中幫助你解決許多問題。