I have table 1, all_countries, as follows-
id | country
------------------
1 | USA
2 | China
3 | India
4 | France
5 | UK
6 | Australia
SELECT ac.country FROM all_countries ac LEFT JOIN supported_countries sc ON sc.country_name = ac.country_name WHERE ISNULL(sc.country_name)
While @Joachim Isaksson gave me the clue, I tested this very similar query and worked on my database by replacing variables.
SELECT * FROM all_countries
LEFT JOIN supported_countries ON all_countries.id = supported_countries.id
WHERE supported_countries.id IS NULL
I gave the question and that Joachim's answer my thumbs up. Cheers !
A LEFT JOIN
will do that elegantly;
SELECT a.*
FROM all_countries a
LEFT JOIN supported_countries s
ON a.country = s.country
WHERE s.id IS NULL;
Demo here.
Try something like the following:
SELECT * FROM all_countries
WHERE country NOT IN (SELECT country FROM supported_countries)