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

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

Hosting

Website Checklist before Launching

Top 20 things to consider before launching your website

Tech

Getting wireless printing working on Virgin Media Hub 3

A guide on how to get wireless printing working on Virgin Media if yours has suddenly stopped working.