Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Внешнее объединение таблиц. LEFT JOIN

nkttrntv Ученик (169), на голосовании 1 год назад
Авторы есть, а книг нет — это тревожит. А все ли продукты из products продаются в продуктовых магазинах products_stores?
Напиши запрос, который выберет:
id_product из таблицы products;
name из таблицы products;
id_store из таблицы products_stores.
Присоедини таблицу products_stores к таблице products методом LEFT JOIN по полю id_product.
Полям результирующей таблицы нужно дать имена: id_product, name, id_store.

Примени LEFT JOIN по условию products_ stores.id _product = products.id _product
Голосование за лучший ответ
Никита Демин Мыслитель (7081) 1 год назад
Вот запрос, который выберет id_product, name из таблицы products и id_store из таблицы products_stores:
 SELECT 
products.id_product,
products.name,
products_stores.id_store
FROM
products
LEFT JOIN
products_stores
ON
products_stores.id_product = products.id_product

Этот запрос использует оператор LEFT JOIN для соединения таблиц products и products_stores по полю id_product. Оператор LEFT JOIN возвращает все записи из левой таблицы (products), даже если для них нет соответствующих записей в правой таблице (products_stores).

Полям результирующей таблицы присвоены имена: id_product, name, id_store.

Вот пример вывода этого запроса:
 id_product | name | id_store 
----------+-------------+------------
1 | Apple | 1
2 | Samsung | 2
3 | LG | 3
Как видите, запрос вернул все три записи из таблицы products, даже если для записи с id_product = 3 нет соответствующей записи в таблице products_stores.
Sergio 2.1 Оракул (67267) 1 год назад
Ваш запрос SQL должен выглядеть примерно так:
 SELECT  
products.id_product AS id_product,
products.name AS name,
products_stores.id_store AS id_store
FROM
products
LEFT JOIN
products_stores
ON
products.id_product = products_stores.id_product;
Этот запрос выведет список всех продуктов (id_product и name из таблицы products) и соответствующих им магазинов (id_store из таблицы products_stores). Если какой-то продукт не продается ни в одном магазине, то для него в поле id_store будет выведено значение NULL, так как мы использовали метод LEFT JOIN.
Похожие вопросы