Seleccionar filas que no están presentes en otra tabla
Tengo dos tablas postgresql:
table name column names
----------- ------------------------
login_log ip | etc.
ip_location ip | location | hostname | etc.
Quiero obtener todas las direcciones IP delogin_log
que no tiene una fila enip_location
.
Intenté esta consulta pero arroja un error de sintaxis.
SELECT login_log.ip
FROM login_log
WHERE NOT EXIST (SELECT ip_location.ip
FROM ip_location
WHERE login_log.ip = ip_location.ip)
ERROR: syntax error at or near "SELECT"
LINE 3: WHERE NOT EXIST (SELECT ip_location.ip`
También me pregunto si esta consulta (con ajustes para hacerla funcionar) es la consulta de mejor desempeño para este propósito.