Subqueries

Rather than using the raw primary key values of our instruments table each time, we can use a subquery as shown in the following SQL query:

UPDATE musicians SET main_instrument=(SELECT id FROM instruments WHERE name='guitar') WHERE name IN ('Robert Fripp', 'David Gilmour');

A subquery is a SQL query within a SQL query. If your subquery can be guaranteed to return a single value, it can be used anywhere you would use a literal value. In this case, we're letting our database do the work of figuring out what the primary key of guitar is, and inserting that for our main_instrument value.

In the WHERE clause, we've also used the IN operator to match against a list of values. This allows us to match against a list of values.

IN can be ...

Get Python GUI Programming with Tkinter now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.