MySQL 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

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.

Initially I thought this was going to be slightly difficult to do, or at least a bit convoluted but it turned out to be really simple.

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

Ruby

Forcing a Rails database column to be not null

How you can force a table column to always have something in it with Rails

Writing Marketing

We've deleted an article's worth of unhelpful words

We've improved several pages across our site by removing words that add no value, and often detract from the article.