Уроки SQL для начинающих / #7 - Объединение данных

  Рет қаралды 134,679

Гоша Дударь

Гоша Дударь

5 жыл бұрын

Для объединения данных из нескольких таблиц используются Joint'ы. В ходе урока вы изучите несколько способов объединения данных: Inner Join, Left Join и Right Join.
1) Урок на сайте itProger: itproger.com/course/sql/7
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Группа FaceBook - goo.gl/XW0aaP
Инстаграм itProger: / itproger_official
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼‍💻
- Все уроки по хештегу #goshaSQL

Пікірлер: 106
@coolenov
@coolenov 3 жыл бұрын
Я так понимаю у многих появились проблемы с пониманием из-за того, что автор ролика привык записывать запрос в несколько строчек. Попробуйте написать это все в одну строку и тогда поймете почему на конце первой строки FROM people. Короче формула такая. FROM "таблица1" INNER JOIN "таблица2" . Тогда сразу понятно как использовать LEFT JOIN(брать за основу таб1) и RIGHT JOIN(брать за основу таб2). В случае если не будет ключа сопоставления, таблица которую брали за основу, выдаст остальные значения которые не подошли под условие ON. Возможно намудрил с объяснением, надеюсь кому-то помог ибо сам столкнулся с этой проблемой.
@stanislavsinitsyn2158
@stanislavsinitsyn2158 2 жыл бұрын
Блин! Спасибо за наводку. А то я тут начал местами переставлять и одни ошибки выходят. А благодаря вашему комменту смог разобраться!
@massloff
@massloff 2 жыл бұрын
Мне тоже помог 🙂
@NicolasCage-zi3fs
@NicolasCage-zi3fs 3 жыл бұрын
На самом деле согласен с тем, что пишут ребята: первые 6 уроков были действительно идеальными для восприятия. Этот урок сверхскоростной, без внятного объяснения логики написания текста. Если есть возможность, перезапишите урок с подробными объяснениями.
@user-om1re5pf7g
@user-om1re5pf7g 3 жыл бұрын
Таймкоды: 0:17 - подготовка данных 4:46 - (INNER JOIN + ORDER BY + DESC) вывод заказов конкретного пользователя с сортировкой по убыванию (объединение 2х таблиц) 7:45 - (INNER JOIN + INNER JOIN + ORDER BY + DESC) вывод заказов конкретного + больше инфы (объединение 3х таблиц) 9:50 - (LEFT JOIN + ORDER BY + DESC) схема: "ОБЯЗАТЕЛЬНО - не обязательно" 11:25 - Картинка о JOIN 12:25 - (RIGTH JOIN + ORDER BY + DESC) схема: "не обязательно - ОБЯЗАТЕЛЬНО "
@user-vb7bs3eq4s
@user-vb7bs3eq4s 3 жыл бұрын
мне кажется стоит переделать именно этот урок. до этого все предельно было понятно. причем несколько плейлистов смотреть у тебя. а тут 3 раза пересмотрел и понял какие-то крохи, общую суть только. а использование практически нет.
@EL_Rain
@EL_Rain 3 жыл бұрын
Тот случай, когда смотрел все предыдущие уроки и начал что то понимать, но благодаря этому "уроку" понял, что уже ничего не понимаешь. Ощущение, что автору надоело вести уроки и он решил не церемониться с объяснениями мелочей и по быстрому все ввел и поверхностно рассказал
@Cezare_Borgia
@Cezare_Borgia Жыл бұрын
не ной, все понятно, если не тупой, если тебе даже это разжевывние не ясно, значит айти не для тебя, нытик
@vitru4236
@vitru4236 Жыл бұрын
Согласен
@user-be9ys7tu5j
@user-be9ys7tu5j Ай бұрын
Ще раз передивився і інші відоси. Молодець. Краще всіх пояснив звязки
@vladislav3105
@vladislav3105 2 жыл бұрын
Уроки - просто космос. С нуля въезжаю. Спасибо и низкий поклон!
@user-bd4oo9qj7i
@user-bd4oo9qj7i 2 жыл бұрын
Огромное спасибо, лучшее объяснение среди подобного контента
@user-ju2ow3se3t
@user-ju2ow3se3t 2 жыл бұрын
Оператор SQL INNER JOIN формирует таблицу из записей двух или нескольких таблиц. Каждая строка из первой (левой) таблицы, сопоставляется с каждой строкой из второй (правой) таблицы, после чего происходит проверка условия. Если условие истинно, то строки попадают в результирующую таблицу. В результирующей таблице строки формируются конкатенацией строк первой и второй таблиц. SELECT column_names [,... n] FROM Table_1 INNER JOIN Table_2 ON condition Оператор SQL LEFT JOIN осуществляет формирование таблицы из записей двух или нескольких таблиц. В операторе SQL LEFT JOIN, как и в операторе SQL RIGHT JOIN, важен порядок следования таблиц, так как от этого будет зависеть полученный результат. Алгоритм работы оператора следующий: Сначала происходит формирование таблицы внутренним соединением (оператор SQL INNER JOIN) левой и правой таблиц Затем, в результат добавляются записи левой таблицы не вошедшие в результат формирования таблицы внутренним соединением. Для них, соответствующие записи из правой таблицы заполняются значениями NULL. SELECT column_names [,... n] FROM Table_1 LEFT JOIN Table_2 ON condition
@zaza2258
@zaza2258 Жыл бұрын
Отлично объяснил спасибо огромное😁✊
@user-ek3gb9sf6y
@user-ek3gb9sf6y 9 ай бұрын
между прочим тема достаточно сложная и все-равно не однозначно понятная! Алгоритм можно было бы еще подробнее расписать. Ведь даже тут не понятно что будет, если в левой таблице окажется 3 записи с этим id, а в правой 5??? Ну или наоборот. И про правый Join, к сожалению, вы не написали...Что-то там NULL не образовывается..
@naminggone8229
@naminggone8229 6 күн бұрын
Как можно сохранить данные результирующей таблицы?
@Sancheg11
@Sancheg11 Ай бұрын
Спасибо за видео! Да, сложно в понимании, это не создать таблицу/удалить таблицу, тут нужно подумать. Но если разобраться, попробовать самому, а не просто повторять за автором ролика, то можно достаточно быстро всё понять! Спасибо еще раз
@doom678
@doom678 2 жыл бұрын
Гоша, да у Тебя талант!!! Даже у меня получилось все!!! Спасибо!!!
@user-mo6tl6is1q
@user-mo6tl6is1q 3 жыл бұрын
большое спасибо,очень долго искал инфу по join c с норм объяснением
@HopeDelRey
@HopeDelRey 4 жыл бұрын
Спасибо за видео!
@pulsarpulsar4687
@pulsarpulsar4687 2 жыл бұрын
Отличные видео . Пожалуй, лучшее для начинающих . Спасибо.
@borisnikolaevich157
@borisnikolaevich157 4 жыл бұрын
опреатор join служит для соединения данных, а не для объединения. Для объединения используется оператор union.
@yaroslavmorev3688
@yaroslavmorev3688 3 жыл бұрын
Наверное он имел ввиду объединение чисто на вывод данных, а не на фактическое объединение данных. Но в любом случае не совсем верное объяснение материала, на мой взгляд.
@adamisaev3048
@adamisaev3048 5 жыл бұрын
Я умоляю!Пожалуйста сделай урок по C# XNA, у тебя уроки более понятливые чем у других.
@user-uf5sv1wi1p
@user-uf5sv1wi1p 4 жыл бұрын
Я так и не понял основной сути разницы между left join и right join А так же ты не рассказал разницы и примеров разницы между outer join и inner join
@djdioekow
@djdioekow Жыл бұрын
Помогло, спасибо!!
@alexpo87
@alexpo87 4 жыл бұрын
Уважаемый Гоша, спасибо за ваш труд. Вопрос: на 12:23 - вы считаете что выведены все имена, но при этом не выведены все ordersNumbers? Я согласен что имен может быть больше чем "ордеров", но в случае если один и тот же человек оформил несколько заказов, то при сопоставлении LEFT JOIN будет несколько раз выведено его people.name и различные orders.orderNumber. т.о. ВСЕ orderNumber's будут в выборке. Разве не так? Я учусь - могу ошибаться. ПОдтвердите или опровергните пожалуйста.
@yeson6581
@yeson6581 2 жыл бұрын
На мой взгляд всё достаточно доступно рассказано, нужно попрактиковаться.
@6olden_7eacher
@6olden_7eacher Жыл бұрын
в одной строке из 4 значений 3 слова orders , как ты считаешь это нормально для того чтобы понять материал ? или быть может стоило придумать более разноообразные варианты строк и значений, чтобы люди внятно понимали, а не ordre ORDER ordernumber ordred By order try order fols.
@alexandralexandr2997
@alexandralexandr2997 Жыл бұрын
😂
@moddir4723
@moddir4723 4 жыл бұрын
твой "orders" идеален
@vitaliidrapaliuk5652
@vitaliidrapaliuk5652 3 жыл бұрын
Thank you)
@user-gh9pw3sh7h
@user-gh9pw3sh7h 5 жыл бұрын
Очень прошу Вас перезаписать видео уроки по JavaScript. А то те старые записи в ужасном качестве.
@user-gw8bx4pm2o
@user-gw8bx4pm2o 4 жыл бұрын
Ечл
@professionalgg4223
@professionalgg4223 5 жыл бұрын
Красава!!!!!!!!
@user-kd6ux1od9p
@user-kd6ux1od9p 3 жыл бұрын
Спасибо, не понимал про JOIN, выручил!
@naminggone8229
@naminggone8229 6 күн бұрын
Здравствуйте. Как объединить данные и потом сохранить эту таблицу?
@user-cx2cm5yv4i
@user-cx2cm5yv4i 4 жыл бұрын
Дуже дякую!
@aleksandr9761
@aleksandr9761 Жыл бұрын
пытаюсь поменять поле (ALTER TABLE `Users` CHANGE `pass_n` `pass`; - к примеру) в таблице, через CHANGE но выдает ошибку и в подсказке аж вот такую строку выдаёт (ALTER TABLE `Users` CHANGE `pass_n` `pass` VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; не пойму откуда utf8 взялся
@Nogi_V_Ruki
@Nogi_V_Ruki 11 ай бұрын
Не очень понял, как из таблицы people вывели данные полей 2 таблиц. Select people. name, orders. orderNumber FROM people... Как можно выбрать таблицу 1 и таблицу 2 из таблицы 1?
@lisswein9300
@lisswein9300 4 жыл бұрын
Хотелось бы PS4 по такой цене)
@user-tv8rm4gc1b
@user-tv8rm4gc1b Жыл бұрын
Немного не понял. /5:30/ я выбираю данные из таблички people... Но ведь вначале этой команды были слова о том, что "берём данные из таблички orders, из поля orderNumber. Получается, что-то типа : берём данные из таблички orders, из таблички people, а теперь указываем откуда мы вообще берём данные - из таблички people... Можно это подробнее объяснить?
@user-tv8rm4gc1b
@user-tv8rm4gc1b Жыл бұрын
/6:36/ итак,я выбираю такие поля как orderNumber, name, email из таблички, которая называется people.... Я что-то путаю, или в табличке people нет поля orderNumber? Это поле из таблички orders!
@6olden_7eacher
@6olden_7eacher Жыл бұрын
@@user-tv8rm4gc1b да мудак этот Дудочник, Дим. для себя выложил урок чтобы не забыть, а не чтобы научить
@humansj
@humansj 4 жыл бұрын
"Проверить данные из таблички Х с табличкой У". Серьезно? Как я должен это понять?
@user-be9ys7tu5j
@user-be9ys7tu5j Ай бұрын
Дякую за урок
@igob6618
@igob6618 3 жыл бұрын
Bob мажик, все самые дорогие товары скупил
@Alex-vz2js
@Alex-vz2js 4 жыл бұрын
Почему при наведении на ссылки в таблице Orders, всплывают именно name из таблиц куда мы ссылаемся(people, shop) мы же нигде явно не указывали этого?
@vitru4236
@vitru4236 Жыл бұрын
Это автор видео решил не рассказывать про то, что это делается через настройки среды. Сам же он эти настройки сделал за кадром, а на видел посчитал, что это рассказывать не нужно. Просто отвратительное видео, как мне кажется
@user-wz6cx2ei9t
@user-wz6cx2ei9t 2 жыл бұрын
джоины рассмотрены плохо. для новичка совсем не понятно. такие сложные элементы надо рассматривать очень детально.
@user-sz4nz5dn3k
@user-sz4nz5dn3k 3 жыл бұрын
узнаю Гошу дударя
@sterlikovsergey
@sterlikovsergey 5 жыл бұрын
подсказка - если после ввода SELECT начать с символа ` то тогда mySQL предложит выбрать из списка имеющихся сущностей (таблиц)))) далее после ввода . предложит поле выбранной сущности (таблицы) SELECT `subscribers`.`s_name`,`books`.`b_name`,`authors`.`a_name` FROM `subscriptions` INNER JOIN `subscribers`ON `subscriptions`.`sb_subscriber`=`subscribers`.`s_id` INNER JOIN `books` ON `subscriptions`.`sb_book`=`books`.`b_id` INNER JOIN `m2m_books_authors` ON `books`.`b_id`=`m2m_books_authors`.`b_id` INNER JOIN `authors` ON`m2m_books_authors`.`a_id`=`authors`.`a_id` WHERE `books`.`b_id`=3
@fantom8997
@fantom8997 11 ай бұрын
Дайте ссылку на магазин 😂
@humansj
@humansj 4 жыл бұрын
Первые 6 уроков отлично, этот урок - говно. Тупо начал путать и запутывать. Выбирает данные с разных табличек, и при этом пишет что выбирает из таблицы people, Серьезно? orders.orderNumber тоже из таблицы people?? Тупо запутал.
@asari999
@asari999 4 жыл бұрын
при inner join не важно from какая таблица. важно при right и left join
@humansj
@humansj 4 жыл бұрын
asari то есть он мог указать название другой таблицы ? Это в данном случае не играло роли ?
@SlavaCh
@SlavaCh 4 жыл бұрын
одерс ходерс!
@pro100deskree
@pro100deskree 2 жыл бұрын
Инфаркт цен :DD
@mrstep9466
@mrstep9466 2 жыл бұрын
Я не понимаю, каким образом у тебя в таблице orders в колонках с id покупателя и товара при наведении курсора идёт отображение имени и товара. Я с точностью все сделал - никакого отображенич нет, оно и логично: откуда эта таблица знает, что за id были введены?
@user-by8ml6ql9l
@user-by8ml6ql9l 2 жыл бұрын
в предыдущих уроках про индекс - создается индекс ( CREATE INDEX ON ) после чего при наведении отображается `связанный парметр` там автор ролика еще делает на это акцент
@bogdan_ua6619
@bogdan_ua6619 Жыл бұрын
И тут мой мозг взлетел, даже php легче
@IlichRamires
@IlichRamires 2 жыл бұрын
Нет другого видео с этой темой, кто в курсе? До этого урока всё было понятно
@tbassir9076
@tbassir9076 3 жыл бұрын
Очень хорошо объясняет!!!
@cartoonstudio4147
@cartoonstudio4147 Жыл бұрын
4:25 ОТКУДА ССЫЛКИ ПОЯВИЛИСЬ ?????
@tututu6425
@tututu6425 2 жыл бұрын
я 3 часа ломал голову, потом только понял. Нельзя было сразу сказать что это просто сопоставление двух таблиц
@user-qf5vh8yu1i
@user-qf5vh8yu1i 2 жыл бұрын
11:28 Джоинты в объяснении не нуждаются аххахха))
@GigaHertZ28
@GigaHertZ28 3 жыл бұрын
чуть ли не на каждом собесе JOIN'ы спрашивают
@Valerion._.228
@Valerion._.228 5 жыл бұрын
Гоша а все сайты пишутся где и ты пишеш т.е. "local host"
@WhiteBear141981
@WhiteBear141981 5 жыл бұрын
валера барский, local host означает, что обработка данных происходит локально, на данной машине. То есть MySQL и Apache запущены локально.
@user-xe6dm7cc4c
@user-xe6dm7cc4c 4 жыл бұрын
@@WhiteBear141981 localhost - это локальный сервер, в хостингах также указывается localhost потому что для тех файлов которые работают с этим сервером он тоже является локальным. Возможно я не совсем точно описал, но смысл думаю понятен.
@123474661
@123474661 2 жыл бұрын
Не объединение а соединение 5:57
@kornevsergey
@kornevsergey 11 ай бұрын
Лениво было перетыкивать OrderNumber и через через апдейт установил его равным id. зря чтоли проходили?)
@GhoST050398
@GhoST050398 3 жыл бұрын
Не понимаю, что даже не знаю какие вопросы задать
@goodgamewisher9888
@goodgamewisher9888 5 жыл бұрын
КРУТО СНИМАЕШЬб МНЕ 11 ЛЕТ И Я УЖЕ ЯЗЫКОВ МНОГО ЗНАЮ СПС
@Valerion._.228
@Valerion._.228 5 жыл бұрын
А сколько именно?
@hugomonitov
@hugomonitov 5 жыл бұрын
Мяу
@joefast505
@joefast505 5 жыл бұрын
Основы?
@user-yt9un2uo6r
@user-yt9un2uo6r 5 жыл бұрын
GoodGameWisher Знать базовый синтаксис - это не значит, что ты знаешь язык🤦‍♂️
@joefast505
@joefast505 5 жыл бұрын
@@user-yt9un2uo6r +
@mangag8804
@mangag8804 5 жыл бұрын
Сделай перезаливы курсов популярных языков программирования в лучшем качестве и на более новых версиях с лучшем объяснением чем раньше. И можешь углубится в некоторые языки тоесть не только синтаксис, но и другое.
@yellowmoonishka1725
@yellowmoonishka1725 2 жыл бұрын
ths
@the_pensioner
@the_pensioner 3 жыл бұрын
Спасибо, нихера не понял!)
@Bandera_tut
@Bandera_tut 4 жыл бұрын
не обьединение а соединение
@escaladus4860
@escaladus4860 4 жыл бұрын
Всйо слишком быстро, для совсем начинающего не подходит.
@user-fl7hq7ip5v
@user-fl7hq7ip5v 4 жыл бұрын
Не норм, просто нужно смотреть сначала с первого урока, параллельно выписывать себе моменты и делать задания
@ddystopia8091
@ddystopia8091 4 жыл бұрын
Как по мне он наоборот расжовывал много
@Cliffart44
@Cliffart44 3 жыл бұрын
Да, тут 👇 попонятнее будет kzbin.info/www/bejne/iGjMc36bic6Ur7s
@mira_the_dog2305
@mira_the_dog2305 3 жыл бұрын
Да нормально все обьяснено, вполне доступно для понимания. Не понимаю, почему бугурт тут устроили, у меня был полный затык с JOIN и пониманием как это все работает, так мне хватило вполне такого обьяснения. Кто не понимает синтаксиса - обратитесь к предыдущим урокам, на примерах этого можно все понять. Просто нельзя взять и рассказать сложные вещи ещё более простым языком. с меня пачка лайков )
@user-ym4go7ig3q
@user-ym4go7ig3q 2 жыл бұрын
да потому что, вечно недовольные ж...ы всегда жалуются по делу и без
@user-xf2zb2go6x
@user-xf2zb2go6x 4 ай бұрын
ничего не понятно
@nickthomson450
@nickthomson450 2 жыл бұрын
Кому навалять?
@serhiipanasiuk8586
@serhiipanasiuk8586 2 жыл бұрын
Этот урок похож на месиво
@arsadaul9910
@arsadaul9910 Жыл бұрын
чел рассказывает про Join и называет это объединением...
@webprogrammer2659
@webprogrammer2659 5 жыл бұрын
Привет, Гоша, я очень люблю смтреть твои ролики мой инстаграм если захочешь мне что-то написать @vadirt_webprogrammer13
@user-de5kn6ph6j
@user-de5kn6ph6j Жыл бұрын
Вообще ничего не понятно😀😀😀
@riverall6019
@riverall6019 2 жыл бұрын
Вообще непонятное объяснение. До этого как-то более- менее было, это видео лучше просто удалить или перезаписать. Кроме путаницы, ничего вообще, все как-то не структурировано и в одной куче.
@dmitryermolaev3816
@dmitryermolaev3816 Жыл бұрын
Путаница конкретная
@qexly512
@qexly512 3 жыл бұрын
У автора каша в голове, какое нахуй объединение? Это что, UNION? JOIN - это соединение!
@thegate4407
@thegate4407 3 жыл бұрын
Он сам просто не знает не чего, поэтому и объяснить не может
1 класс vs 11 класс  (игрушка)
00:30
БЕРТ
Рет қаралды 3,5 МЛН
Шокирующая Речь Выпускника 😳📽️@CarrolltonTexas
00:43
Глеб Рандалайнен
Рет қаралды 12 МЛН
Как проходит РАБОЧИЙ ДЕНЬ ПРОГРАММИСТА 1С
9:19
День из жизни аналитика данных (мой день в 2023)
5:45
Аналитика и growth mind-set
Рет қаралды 59 М.
😱 Как стать программистом с нуля? Без курсов самому.
24:43
Хауди Хо™ - Просто о мире IT!
Рет қаралды 306 М.
ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
33:59
Ваня Ио про разработку
Рет қаралды 40 М.
SQLAlchemy: How to JOIN tables | CTE | Subqueries | Window functions #8
18:56
Артём Шумейко
Рет қаралды 9 М.