Пришел на работу с хайлоад проектом своими знаниями уровня одного INNER JOIN какой используется для связи с какой то таблицей. Пока я джун, я учусь, но вот в проекте вижу запросы где мелькают четыре джойна, еще странно более когда одну и ту же таблицу джойнят 3 раза, по тому же полю, но с разными значениями (например как было бы INNER JOIN users as us1 ON us1.age = 18 INNER JOIN users as us2 ON us2.age = 20)
Я не понимаю смысл джойнить одну ту же таблицу 3 раза, и смысла задавать разные значения тоже не вижу особо, я банально не могу понять что тут написано.
Собственно, как практиковаться в джойнах? (по серьезному, а не где один джойн)
Почитай ещё раз теорию про JOIN и про третью нормальную форму и ещё почитай что такое ONE TO MANY(один ко многим) и MANY TO MANY(многие ко многим).
Допустим у тебя есть одна большая таблица ТОВАРЫ и выглядит она вот так:
ID ITEM_ID NAME PRICE COMMENTS и так получилось что комментов у одного товара может быть много, цен несколько и названий тоже несколько, тогда тебе нужно будет для каждого варианта делать доп. строку в таблице, например
1 31337 Стол 10.00 Мне нравится мой стол
2 31337 Стол 10.00 Какой же классный стол
Чтобы не было повторений придумали нормальные формы и вот у нас уже появляется несколько таблиц:
ТОВАРЫ, КОММЕНТАРИИ, ЦЕНЫ, НАЗВАНИЯ
В таблице товары только ID, в комментах ID товара и коммент, в ценах только ID товара и цена, в названиях ID товара и название. То что мы сделали называется нормализацией БД.
ИТОГО
теперь чтобы получить все данные об одном товаре можно сделать JOIN четырех таблиц по ID товара или сделать запрос с where по четырем таблицам.
В реальности бывают случаи когда нормализация БД не нужна ради производительности.
Вообще-то тебе уже есть где практиковаться,
практикуйся на работе, смотри базу, таблицы,
какие данные в таблице.
начни с простых запросов, потом сложнее и тд.