Выберите строки, которых нет в другой таблице
У меня есть две таблицы postgresql:
table name column names
----------- ------------------------
login_log ip | etc.
ip_location ip | location | hostname | etc.
Я хочу получить каждый IP-адрес отlogin_log
который не имеет строки вip_location
.
Я пробовал этот запрос, но он выдает синтаксическую ошибку.
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`
Мне также интересно, является ли этот запрос (с изменениями, чтобы он работал) наиболее эффективным с этой целью.