Det enklaste sättet är med finns inte
eller vänster gå med
:
select u.*
from users u left join
addresses a
on a.username = u.username and
a.city = 'Peoria'
where a.city is null;
vänster anslutning
behåller alla register i användare och alla poster i adresser
som matchar on
betingelser. I det här fallet (eftersom stadsnamnet finns i on
). skick), returnerar den alla användare med antingen information om städerna eller NULL
värden. NULL
värden -- de som inte matchar.
Motsvarigheten finns inte
kan vara lättare att följa:
select u.*
from users u
where not exists (select 1
from addresses a
where a.username = u.username and
a.city = 'Peoria'
);