Case Statements Exercise Answer Key
Answer Key
- Query used:
SELECT parts.part_num, parts.name, CASE
WHEN inventory_id IS NULL THEN 'Not Available'
ELSE 'Available'
END AS status
FROM parts
LEFT JOIN inventory_parts ON parts.part_num = inventory_parts.part_num;
- Query used:
SELECT sets.set_num, sets.name, CASE
WHEN themes.name IN('4 Juniors', 'Animals', 'Cars', 'Dino', 'Dino 2010', 'Dino Attack') THEN 'Kids'
WHEN themes.name IN('Adventurers', 'Agents', 'Avengers', 'Ben 10', 'Coast Guard') THEN 'Young Teens'
WHEN themes.name IN('Harry Potter', 'Indiana Jones', 'Lamborghini') THEN 'Older Teens'
END AS category
FROM sets
LEFT JOIN inventory_sets ON sets.set_num = inventory_sets.set_num
JOIN themes ON sets.theme_id = themes.id;
- Query used:
SELECT *, CASE
WHEN quantity > 20 THEN 'Popular'
WHEN quantity BETWEEN 10 AND 20 THEN 'Average'
WHEN quantity < 10 THEN 'Not Popular'
END AS popularity
FROM inventory_sets
- Query used:
SELECT name, quantity,
SUM(CASE WHEN quantity > 20 THEN quantity * 2
WHEN quantity BETWEEN 10 AND 20 THEN quantity * 1.75
ELSE quantity END) AS recommended_quantity
FROM inventory_sets
JOIN sets ON inventory_sets.set_num = sets.set_num
GROUP BY name, quantity;