SQL snippet - Selecting from table a items that aren't in table b

How I found items that were present in one table but not another using SQL

Today I needed to select something from a table on the condition that the ID of the row in the table did not appear in another table.

I initially had to do this for a MySQL project, but it would equally work in Postgres or any SQL database.

Initially I thought this was going to be slightly difficult to do, or at least a bit convoluted but it turned out to not need that much code.

  SELECT table_a.id
  FROM table_a
  LEFT JOIN table_b ON table_a.id = table_b.aid
  WHERE table_b.aid IS NULL;

Since you are using a LEFT JOIN table_b.aid can return NULL values, and these are the ones you are looking for.

Recent posts View all

EmailStudents

Unsolicited Hiring Tips

If you're going to email a company out of the blue, help them to help you with these three tips

Reviews

Review: How data happened

A fun read for anyone interested in data or the social history around it