Это довольно хромой способ получить список всех из таблицы owner
, которая не существует в таблице trainer
.
Таким образом, если таблица содержит Owner
----------------
fname | lname
----------------
clark | kent
lois | lane
peter | parker
и таблица Trainer содержит
----------------
fname | lname
----------------
peter | parker
hal | jordan
Вы должны получить результирующий набор:
----------------
fname | lname
----------------
clark | kent
lois | lane
Update
На самом деле ваш запрос ничего не вернет, если в таблице тренера есть какие-либо записи. Вероятно, вы должны использовать:
select fname, lname
from Owners
where not exists (
select fname, lname
from trainers
where fname=Owners.fname
and lname=Owners.lname
)
Возможно, это было намерение, но забывчивый автор запроса не связал суб-выбор с выбором верхнего уровня. Запрос возвращает все строки из `Owner`, если` Trainer` пуст или нет строк в противном случае. – 9000 2010-12-16 20:43:55
@ 9000: Очень приятно поймать. Не могу поверить, что я пропустил это. – AgentConundrum 2010-12-16 20:49:42