Запрос данных из нескольких таблиц: JOIN | Основы SQL
Ғылым және технология
Лекция по запросу данных из нескольких таблиц с использованием JOIN. Страница курса - www.asozykin.ru/courses/sql
Поддержать курс можно через сервис Cloudtips - pay.cloudtips.ru/p/45a4055b
Заранее спасибо за помощь!
VK - avsozykin
telegram - t.me/a_sozykin
Мой сайт - www.asozykin.ru
00:00 - Пример базы данных онлайн-школы
01:53 - JOIN в SQL
04:06 - Псевдонимы таблиц и столбцов в JOIN
05:23 - Фильтрация данных с JOIN
06:59 - Сортировка данных с JOIN
07:32 - Итоги
Инструкция по созданию демонстрационной базы данных, которая используется в курсе - www.asozykin.ru/posts/demo_da...
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках - / andreysozykincs
Пікірлер: 146
Дай БОГ здоровья автору ролика!Как же понятно объяснил мне .
Должен сказать, что считаю Ваши курсы одними из самых полезных и познавательных среди тех, которые я смотрел. Большое спасибо!
Я чуть повозмущаюсь... Гуглил как сделать такой запрос полчаса и не нашел толковую информацию, много всего перебробовал... И уж решил в Ютуб зайти, на Ваше видео, и уже на 3-й минуте видео мне стало все понятно и мой запрос заработал на сайте! Спасибо огромное, что все четко показываете и трепетно к этому относитесь! Лайцк и подписка)
Огромное спасибо автору за то, что благодаря Вам можно разгрузить свой мозг, слушая инфу на русском.
@AndreySozykin
3 жыл бұрын
Пожалуйста! Рад, что нравится!
@Dragoncheg
2 жыл бұрын
Русский ускоряет понимание. Лекции Андрея смотрю на ускоренном воспроизведении. Затем второй прогон с конспектированием. Очень удобно.
@stepan8188
2 жыл бұрын
@@Dragoncheg Я точно также, сначала общее понимание, потом конспектирование важного
Просматриваю Ваши уроки и делаю конспекты параллельно. Хочу сказать Вам, огромное Спасибо! Это очень, очень продуманный курс и очень доступно изложен!!! Подбор и подача материала, всё очень грамотно и ёмко!
Впервые вижу настолько клевое видео по основам SQL. 👍👍👍Так плавно и естественно автор рассказывает про все операторы на простом примере, с каждым шагом накидывая добавляя новый функционал и что самое главное без воды и занудства и кучи отсылок ! Смотреть было очень приятно 😊спасибо
@AndreySozykin
2 жыл бұрын
Пожалуйста! Рад, что понравилось!
Спасибо большое, Андрей, за ваши труды. Реально все становится понятно.
@AndreySozykin
3 жыл бұрын
Пожалуйста! Рад, что видео помогают понять.
Подписка, лайк и просмотр всех ваших видео!
Андрей, хочется вам сказать огромное спасибо за то, какой контент вы делаете. Очень приятно смотреть и легко для понимания!
Наконец - то внятное объяснение в интернете
Вот это спасибо так спасибо, самая полная инфа за короткое время, вы лучший и да, До свидания! 👍👍👍🚀🚀🚀👏👏👏
Боже это лучшее обучение по sql , что я видел. Всё понятно показал и рассказал.
@AndreySozykin
Жыл бұрын
Спасибо!
Огонь! Наконец-то нашла потрясающее объяснение))) Спасибо))
Большущее спасибо! Очень понятно объясняете! Это после пол дня поисков удобоваримой информации! Вы прирожденный лектор!
@AndreySozykin
Жыл бұрын
Спасибо! Рад, что видео помогают понять!
Спасибо. Пожалуй у вас самое просто лаконичное и доходчивое объяснение по теме SQL из всех, что мне попадались.
наконец-то человек который умеет доходчиво объяснять, спасибо!
Огромное спасибо за урок! Всё понятно и доступно! А главное - коротко)
Спасибо за уроки. Вы очень хорошо объясняете.
Спасибо, вы молодец. Нормальным человеческим языком объясняете что по чём. А то SQL для меня вообще головная боль
Спасибо большое за видео! Подача материала на высшем уровне!
Очень качественная подача! Спасибо автору.
Стас Пьеха просто топчик, спасибо за курс)
@randomiserplus
2 жыл бұрын
хахахах
спасибо за курс. Очень интересно и понятно )))👍
@AndreySozykin
2 ай бұрын
Пожалуйста!
Спасибо Вам большое! Все очень доходчиво!
Обожаю ваши уроки!
Получил вдохновение на верный ответ в вашем видео. Благодарю за видео!
Спасибо большое! Знал бы, сразу пришел сюда, а не перелопачивал кучу информации.
Круто, такое изложение материала, даже не ожидал. Подписался, и буду следить. Большое спасибо за качество урока.
вроде все то, что везде, но мне стало понятно после именно этого урока!) спасибо автору за труд!
Очень внятно, без лишних соплей 👍🏻
@AndreySozykin
2 жыл бұрын
Спасибо!
Скажите пожалуйста, в SELECT мы присвоили псевдонимы product_name и т.д. Но в WHERE снова используем p.type_name. Почему не WHERE product_type=«Онлайн курс»?
Жду-не дождусь следующего урока! Спасибо вам!
@AndreySozykin
3 жыл бұрын
Выложил следующее видео - kzread.info/dash/bejne/oGFptK6xld29mJs.html
Большое спасибо! Все максимально понятно, да еще и на все потратил меньше 10 минут. Браво!
@AndreySozykin
Жыл бұрын
Спасибо!
Идеальное объяснение! Спасибо!
Огромная благодарность за чистый доходчивый русский язык! Сколько ни смотрела роликов на JOIN только Ваш - прям как шаттл влетел в сознание! подписка и лайк! пошла смотреть весь канал!)
@AndreySozykin
3 жыл бұрын
Спасибо за приятный отзыв! Успехов!
Спасибо за труд, продолжайте!) Держите планку.
@AndreySozykin
3 жыл бұрын
Пожалуйста! Рад, что нравится!
Хорошо объяснили , спасибо огромное.
Спасибо огромное за урок! Доходчиво и интересно объясняете😊👍
Всё подробно и понятно, благодарю.
@AndreySozykin
3 жыл бұрын
Спасибо!
Фууууххх..После фреймворков я понял что я не знаю почти нечего о сырых запросах. Спасибо за очень понятные уроки. Спасибо за труды. За вечер все понятно стало! Лайк однозначно!
Спаасибо! Просто и круто.
Отлично, спасибо )) Сделал первый Джойн )))
Спасибо за подробное объяснение. Очень полезно!
@AndreySozykin
4 ай бұрын
Пожалуйста!
Спасибо за работу. Полезно.
@AndreySozykin
3 жыл бұрын
Пожалуйста!
Отличное видео, стало гораздо понятнее, благодарю!
@AndreySozykin
Жыл бұрын
Пожалуйста!
ты лучший просто!
@AndreySozykin
2 жыл бұрын
Спасибо!
Спасибо за ваш труд
@AndreySozykin
2 жыл бұрын
Пожалуйста!
Отличный материал! Было бы неплохо, на мой взгляд, добавить номер видеозаписи к названию каждого видео, чтобы было проще ориентироваться
Будто сказку говорит, понятно и интересно )
@AndreySozykin
Жыл бұрын
Спасибо! Рад, что нравится!
Идеально! Спасибо!
@AndreySozykin
2 жыл бұрын
Пожалуйста!
Андрей большой лайк, после долгово перерыва нужно было освежить знания по SQL, с джойнами особо сложно было, но благодаря Вам ,все вспомнил)
@AndreySozykin
Жыл бұрын
Пожалуйста! Рад, что курс помог!
Расскажите, пожалуйста, про использование json в запросах или дайте ссылку на туториал
Офигенно!!!
Спасибо за информацию
@AndreySozykin
3 жыл бұрын
Пожалуйста!
Помогло, работает.
Спасибо! оч помогло
Спасибо! Доступно
@AndreySozykin
2 жыл бұрын
Пожалуйста!
Спасибо за ваш труд, продвижения каналу! Получается что мы сначала пишем в селект сокращенные названия, а потом только их объявляем ? то есть код идет не сверху вниз или он проходит в цикле?
Спасибо за урок, хотел спросить вот что: как узнать связи между таблицами? Работаю в PL/SQL Developer, в окно диаграмм выношу нужные мне таблицы, чтобы увидеть связи, а их нет
Андрей, большое спасибо за видео! А как быть, если в первой таблице допустим 10 миллиардов строк? Такой запрос будет выполняться слишком долго. Вложить внутрь запрос к большой таблице, а JOIN применить снаружи вложения?
Супер! Жду занятия по подзапросам, союзам, представлениям...😀
@AndreySozykin
3 жыл бұрын
Подзапросы и представления будут. Что понимается под союзами? Union?
@ivan100kg
3 жыл бұрын
Отлично! Да, union!
@AndreySozykin
3 жыл бұрын
Про union не планировал делать. Это точно не начальный уровень. И мне кажется, что union редко на практике используется.
СПАСИБО!!!
СпасиБог!
Благодарю!
@AndreySozykin
3 жыл бұрын
Спасибо!
Спасибо. Как теперь по атрибуту онлайн курс сделать итого ? (Общая сумма стоимости курсов?)
Добрый день, Андрей. Спасибо за Ваши курсы. Есть вопрос. Как таблица products знает, что столбец type_id ссылается на таблицу product_type? Разве у этого столбца не должно быть название product_type_id? Или это нужно только для наглядности, а само соответствие указывается в запросе? Спасибо.
@AndreySozykin
3 ай бұрын
Таблица products не знает, что столбец type_id ссылается на таблицу product_type. Это знает только проектировщик схемы базы данных. Названия столбцов могут быть любые. Название product_type_id допустимо, но не обязательно. Соответствие столбцов указывается в запросе JOIN.
Будет ли продолжение курса ?
При фильтрации данных из двух таблиц в операторе WERE можно вместо '=' использовать оператор LIKE и далее сравнение '%xxx' ?
Все очень доступно и понятно! Большое спасибо!
Круто
Подача материала на высшем уровне! Спасибо. Я считаю что знание бд 60% успеха. Для проектирование таблиц в бд также и api. frontend и backend 40 %
@AndreySozykin
3 жыл бұрын
Спасибо за приятный отзыв! Знание БД действительно очень важно!
Странно, но у меня после введенного кода с 3:24 объединились только колонки name и type_name. Остальные просто не отображаются
Как же понятно, ***ный рот. Огромное спасибо!
Коллеги и Андрей, добрый вечер, подскажите как убрать кракозябры в строках таблицы product_types и products? Все русскоязычные тексты кириллицей вылазят в кракозябрах. Установил себе PostegreSQL 15
@user-ke6qv8sg3q
10 ай бұрын
Спасибо сам разобрался. Создал новую базу данных в кодировке win1251. Все заработало
Классно спасибо! Подписался и лайкнул. Ваш курс про сети вообще обалденный. К данному видео пришел так как не могу найти ответ. Если вы прочтете и поможете было бы здорово. Задача не сложная но не могу понять. Есть 2 таблицы: Author(Id, name) и Book(book_id, author_id, name, type). Нужно вывести книги у которых type='Роман' и вывести имена их авторов. Я дошел до варианта - SELECT name FROM book WHERE type='Роман' JOIN Author ON Author.id = Book.id. Но думаю это не правильно, не знаю как указать условие с типом книги.
@petrpetr9576
2 жыл бұрын
select * from Book join Author on Author.id = Book.author_id where Book.type = 'roman';
@firstnamelastname3464
2 жыл бұрын
select bb.name, aa.name from book bb, author aa where bb.author_id = aa.id and bb.type = ' Роман' PL/SQL
Добрый день! Спасибо за курс! Возникло затруднение в этом уроке, кодировка 1251, но всё-равно при запросе выдаются кракозябры типо : "РћСЃРЅРѕРІС‹ искусственного интеллекта". Подскажите как возможно получить корректные выводы?
@user-LvSerg777
Жыл бұрын
У меня тоже не получается изменить кодировку в SQL Shell. Я через cmd.exe работаю. Меняю там кодировку на chcp 1251. Потом оттуда запускаю psql.exe и работаю.
@annavinlife
Жыл бұрын
@Andrey Sozykin не получится подсказать, как решить проблему?
Добрый день. Спасибо за отличную лекцию. Нам толком связи с помощью JOIN преподаватель так и не смогла объяснить. Только у вас все доходчиво и понятно, в каком порядке и как между собой связывается. При практике с помощью вашей базы данных все работает, единственное, возникла проблема с кодировкой. Не могли бы вы объяснить как исправить этот момент? В таблице с супергероями мы меняли кодировку в файле, здесь также? и на какую кодировку надо поменять?
@user-nn4jl5wg2n
2 жыл бұрын
поменять кодировку на chcp 65001, только при этом "where" на русском не срабатывает
@user-uj9qr5gq7s
Жыл бұрын
@@user-nn4jl5wg2n , как нибудь решили проблему ?
@user-nn4jl5wg2n
Жыл бұрын
@@user-uj9qr5gq7s нет, работаю в ms SQL
спасибо_)
@AndreySozykin
3 жыл бұрын
Пожалуйста!
Добрый день, Андрей. Подскажите, пожалуйста, как можно наименовать фильтр в группированной табличке? Например, мне надо чтоб лицензия '10238' была наименована - Москва, а лицензии '8315', '7994', '7724', '10222' - Питер SELECT COUNT(*) FROM 'Tickets' WHERE CUSTOMFIELD('Tickets', 'Номер лицензии') IN ('8315', '7994', '7724', '10222','10238') AND 'Tickets.Creation Date' > '2022-02-10 00:00:00' AND 'Tickets.Creation Date' 23:59:59' GROUP BY 'Tickets.Status', CUSTOMFIELD('Tickets', 'Номер лицензии') Спасибо за ваши уроки.
@AndreySozykin
2 жыл бұрын
Насколько я могу понять, проще всего сделать дополнительные поля для Москвы и Питера с помощью CASE (вот пример использования CASE - kzread.info/dash/bejne/Z6qmz7WohJramqg.html). А затем уже группировать по ним.
@user-vt5zm8fn3d
2 жыл бұрын
Спасибо за ответ, посмотрю
@user-vt5zm8fn3d
2 жыл бұрын
@@AndreySozykin сделал так, но выходит ошибка, в приложении конечно обрезанный sql - kql, может с этим связано, а может я не так сформировал Case? SELECT COUNT(*) CASE WHEN CUSTOMFIELD('Tickets', 'Номер лицензии') IN '10238' THEN 'Самара' END FROM 'Tickets' WHERE CUSTOMFIELD('Tickets', 'Номер лицензии') IN ('8315', '7994', '7724', '10222','10238') AND 'Tickets.Creation Date' > '2022-02-10 00:00:00' AND 'Tickets.Creation Date' 23:59:59' GROUP BY 'Tickets.Status', CUSTOMFIELD('Tickets', 'Номер лицензии')
указал в бат файле кодировку chcp 1251, перезапустил shell , но все равно кракозябры выходят когда показывает русский язык. куда копать дальше? помогите пожалуйста
@dinarsamara4923
2 жыл бұрын
блин, у меня также с products кодировка падает
@annavinlife
Жыл бұрын
Та же проблема, к сожалению.
Можно еше использовать упрощённую запись USING Не нужно будет сравнивать
А как сделать запрос join если несколько столбцов ссылаются на 1 таблицу?
@AndreySozykin
2 ай бұрын
Вот пример, как это сделать - kzread.info/dash/bejne/eWlkx8OzmqeZn5M.html
👍👍👍
@AndreySozykin
3 жыл бұрын
Спасибо!
Андрей, спасибо. Зачем платить скиллбоксу, если есть ты)
@AndreySozykin
Жыл бұрын
Пожалуйста!
А как выбрать последние записи из двух таблиц
@AndreySozykin
2 жыл бұрын
Не понял, что означает последние записи?
@TheNikita2100
2 жыл бұрын
@@AndreySozykin я уже решил, было две таблицы из одной взять пользователей из второй взять комментарии. И нужны были последние комментарии всех пользователей
народ, кто как справился с кодировкой БД он-лайн школ? помогло \! chcp 65001, но столбцы получаются смещенные и некоторые запросы в sql shell все равно не выполняются
@AndreySozykin
Жыл бұрын
В чем именно проблема? У меня все работает 🙂
@annavinlife
Жыл бұрын
@@AndreySozykin Добрый день! Спасибо за курс! Возникло затруднение в этом уроке, кодировка 1251, но всё-равно при запросе выдаются кракозябры типо : "РћСЃРЅРѕРІС‹ искусственного интеллекта". Подскажите как возможно получить корректные выводы?
такое ощущение что просмотрел содержимое заголовков книги
А если 3 таблицы?
@phonty29
Ай бұрын
Делаешь JOIN на две таблицы, потом результат джоинишь на третью
5:14 не сработал where
Досвидаааания- как у последнего омежки д.одика речь. Впрочем не удивительно, выглядишь также