Что произойдет, когда подзапрос одиночной строки не вернет ни одной строки? В таком случае, результатом выполнения подзапроса будет 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.