Что произойдет, когда подзапрос одиночной строки не вернет ни одной строки? В таком случае, результатом выполнения подзапроса будет NULL
.
SELECT c.name,
(SELECT p.name
FROM product p
WHERE p.category_id = c.category_id
ORDER BY p.name
LIMIT 1
) as product_example
FROM category c
ORDER BY c.name
# | name | product_example |
---|---|---|
1 | Аудиотехника | Наушники S3 |
2 | Бытовая техника | Пылесос S6 |
3 | Игровые консоли | Nintendo |
4 | Ноутбуки | Ультрабук X5 |
5 | Ноутбуки и аксессуары | NULL |
6 | Рюкзаки | Deepbox |
7 | Сотовые телефоны | Моноблок C4 |
8 | Товары для дома | NULL |
9 | Фотоаппараты | Lord Nikon 95 |
10 | Цифровая техника | NULL |
В категориях "Ноутбуки и аксессуары", "Товары для дома" и "Цифровая техника" нет ни одного товара. По этой причине подзапрос
(SELECT p.name
FROM product p
WHERE p.category_id = c.category_id
ORDER BY p.name
LIMIT 1
) AS product_example
вернул для строк этих категорий значение NULL
.