SQL - find records from one table which don't exist in another

后端 未结 8 873
生来不讨喜
生来不讨喜 2020-11-21 22:44

I\'ve got the following two SQL tables (in MySQL):

Phone_book
+----+------+--------------+
| id | name | phone_number |
+----+------+--------------+
| 1  | J         


        
8条回答
  •  执念已碎
    2020-11-21 23:22

    SELECT Call.ID, Call.date, Call.phone_number 
    FROM Call 
    LEFT OUTER JOIN Phone_Book 
      ON (Call.phone_number=Phone_book.phone_number) 
      WHERE Phone_book.phone_number IS NULL
    

    Should remove the subquery, allowing the query optimiser to work its magic.

    Also, avoid "SELECT *" because it can break your code if someone alters the underlying tables or views (and it's inefficient).

提交回复
热议问题