Let's assume the following:
Table A
id | value
----------
1 | red
2 | orange
5 | yellow
10 | green
11 | blue
12 | indigo
20 | violet
I have a list of id's (10, 11, 12, 13, 14
) that can be used to look up id's in this table. This list of id's is generated in my frontend.
Using purely SQL, I need to select the id's from this list (10, 11, 12, 13, 14
) that do not have entries in Table A (joining on the 'id' column). The result should be the resultset of id's 13
and 14
.
How can I accomplish this using only SQL? (Also, I'd like to avoid using a stored procedure if possible)
The only approach I can think of is something that would create an inline SQL table on the fly to temporarily hold my list of id's. However, I have no idea how to do this. Is this possible? Is there a better way?
Thanks! :)
You can create an "inline table" with a UNION
subquery:
(
SELECT 10 AS id
UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14
-- etc.
) AS inline_table