Всем привет.
В этом видео я покажу вам на практике несколько запросов с LEFT JOIN, с GROUP BY,
чтобы усвоилась информация, которую я дал в предыдущих видео.
Давайте мы запустим MySQL.
Я сделал специальную тестовую базу, в которой есть всего две таблички.
Первая - это табличка о продажах каких-то товаров за разные года.
Давайте, я покажу, во-первых, какие таблички есть.
Вторая - это табличка товаров.
Давайте посмотрим show tables.
Вот две таблички - products и sales.
Соответственно, products - это продукты, а sales - это продажи.
Давайте посмотрим, что в них находится - select * from products;
Итак, в этой табличке у нас есть яблоки и роботы.
И product_id, и product_name - две колонки айди и название продукта.
А в sales продажи этих продуктов.
select * from sales;
Смотрите, здесь три колонки есть год, есть продукт id,
то есть какой продукт мы продавали,
и какой доход мы с этого получили.
Здесь какие-то случайные цифры. И смотрите, что интересно.
В табличке products у нас есть два продукта: роботы и яблоки,
а в табличке sales,
если вы посмотрите самую последнюю строчку,
то у нас есть продукт id третий,
то есть какой-то несуществующий продукт.
Я специально не стал делать ограничения на эту таблицу,
то есть здесь нет FOREIGN KEY.
И я смог добавить такую строчку,
которая ссылается на несуществующий продукт. А теперь давайте посмотрим,
что же у нас получится, если мы, например, захотим создать выборку, в которой будет год,
product id и income, как есть и имя продукта, который мы продавали.
Для этого нам придется соединить две таблички.
Допустим, какие у нас есть варианты? Мы пишем select *,
мы не будем писать,
какие колонки - все, какие попадут, все, какие есть
Откуда? Из продаж.
А дальше нам надо ее как-то объединить.
У нас есть несколько вариантов,
мы можем написать join, полный join,
products и дальше условия,
по какому, можем назвать полностью.
Sales.product_id = products.