Top.Mail.Ru
Ответы
Аватар пользователя
12лет
Изменено

Mysql join

pages (id, blockid, title)
blocks (id, title)
нужно вывести все строки из pages, где pages.blockid не существует в blocks.id

По дате
По рейтингу
Аватар пользователя
Гений
12лет

SELECT * FROM pages p WHERE NOT EXISTS (SELECT 1 FROM blocks b WHERE b.id = p.blockid)

LEFT JOIN наоборот, добавляет в выборку записи, для которых нет соответствия во второй таблице. Но он выбирает и все, для которых такое соответствие есть.

Аватар пользователя
Мудрец
12лет

Как вариант - left join где какое-то из полей точно будет null (например id)