Tengo las siguientes dos tablas SQL (MySQL):SQL - encontrar los registros de una tabla que no existen en otro
Phone_book
+----+------+--------------+
| id | name | phone_number |
+----+------+--------------+
| 1 | John | 111111111111 |
+----+------+--------------+
| 2 | Jane | 222222222222 |
+----+------+--------------+
Call
+----+------+--------------+
| id | date | phone_number |
+----+------+--------------+
| 1 | 0945 | 111111111111 |
+----+------+--------------+
| 2 | 0950 | 222222222222 |
+----+------+--------------+
| 3 | 1045 | 333333333333 |
+----+------+--------------+
¿Cómo me entero de que las llamadas fueron hechas por personas cuyos phone_number
no está en el Phone_book
? La salida deseada sería:
Call
+----+------+--------------+
| id | date | phone_number |
+----+------+--------------+
| 3 | 1045 | 333333333333 |
+----+------+--------------+
Cualquier ayuda sería muy apreciada.
Debe evitarse en, USE existe - la pista está en el título de la pregunta – annakata
La combinación externa izquierda es, probablemente, el más rápido en el caso general, ya que impide la ejecución de los repetidos subconsulta. – WOPR
No ser quisquilloso, pero la subconsulta en mi sugerencia devuelve
select 'x'
y noselect *
– Alterlife