smidl
@smidl
фронтенд-безумец

Реальные простые и понятные примеры Join в mysql?

Очень тяжко даются Join в mysql. Где посмотреть реальные примеры из жизни, где просто и легко можно посмотреть как оно работает на практике?

Все, что нахожу - сухо и малопонятно
  • Вопрос задан
  • 124 просмотра
Решения вопроса 4
простой пример
Таблица A
ID name
1 name1
2 name2
3 name 3

Таблица Б
ID sername
1 fam1
3 fam3
4 fam4

Итого при join по ID Б к A без лишних условий будет
ID name ID sername
1 name1 1 fam1
2 name2 NULL NULL
3 name3 3 fam3

Или наоборот А к Б

ID sername ID name
1 fam1 1 name1
3 fam3 3 name3
4 fam4 NULL NULL
Ответ написан
BojackHorseman
@BojackHorseman
...в творческом отпуске...
отдел кадров дает бухгалтерии два списка. один это фио + должность, другой это должность + оклад
бухгалтерия соотносит какую зарплату начислить какому сотруднику согласно его должности и получает результат фио + оклад. т.е. делает "join" из таблиц по полю "должность". это join

бухгалтерия находит, что у Васи Пупкина стоит должность "креативный директор", а во втором списке такой должности неожиданно нет. сколько начислить бухгалтерия не знает. поэтому выплатить ничего не может и оставляет пустую строку. это left join
Ответ написан
Maksclub
@Maksclub
maksfedorov.ru
Например у товара могут быть варианты (размеры или цвет)

Таблица товаров products:
id, name
1, IPhone
2, Macbook

Таблица вариантов variants:
product_id, name, price
1, Черный 64Gb, 20000
1, Белый 32Gb, 10000
2, 15 дюймов, 100000


Выбрать все варианы для товара с id=1 будет так:
SELECT v.name, v.price
FROM variants v
LEFT JOIN products p ON p.id=v.product_id
WHERE p.id=1


Это работает во все стороны: например заказы для пользователя, изображения для товара, категории и товары, свойства товаров и товары...
Ответ написан
colonel
@colonel
Разработчик PHP, Laravel
JOIN - присоединить
INNER JOIN (JOIN) - выдаст строки, которые есть в обоих таблицах
LEFT JOIN - присоединить к левой таблице. Выдаст все строки из левой таблицы, присоединит правую, если значений нет заполнит значением NULL
RIGHT JOIN - тоже самое, только для правой таблицы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
Делис Инфо Москва
от 70 000 до 80 000 руб.
18 авг. 2018, в 17:54
6000 руб./за проект
18 авг. 2018, в 16:00
60000 руб./за проект