Практический курс по SQL для начинающих - #2 Базовые SELECT запросы
Vložit
- čas přidán 28. 05. 2024
- Данный курс на CZcams - сильно укороченная (демо) версия полного курса, который вы можете приобрести на stepik (с карточкой из РФ) или Udemy (с карточкой не из РФ)
Купить полный курс на stepik:
www.engineerspock.com/buy-pos... - получите скидку 30%
Купить полный курс на udemy:
www.engineerspock.com/buy-pos...
Все курсы от EngineerSpock: www.engineerspock.com/offer-s...
Подпишись на канал в Telegram: t.me/engineerspock_it
Подписка на Boosty: boosty.to/engineerspock
Донаты на развитие: pay.cloudtips.ru/p/1f080f72
Чат в Telegram: t.me/python_devs
Ссылка на репозиторий в GitHub: github.com/EngineerSpock/post...
---------------------------------------------------------------------------------------------
Базы данных (БД) вообще и реляционные базы данных в частности - очень широкие темы. Эта серия уроков по SQL посвящена именно разработке реляционных баз данных под управлением PostgreSQL (PostgreSQL - это СУБД т.е. система управления базами данных).
На этом курсе по SQL вы освоите основы SQL: узнаете что такое SQL, научитесь писать SQL запросы различной сложности. Все те знания, которые вы получите на курсе легко применимы и к другим СУБД, таким как MySQL, Microsoft SQL Server, Oracle.
Изучение SQL это один из самых быстрых способов подняться по карьерной лестнице и начать зарабатывать ещё больше. На курсе вы будете учиться и получать задания для собственной проверки и улучшения понимания материала.
В данном видео уроке по SQL мы разбираем:
00:00 Полная выборка данных с SELECT
07:06 Выборка и простая арифметика в SQL
10:30 Использование DISTINCT в запросах
15:29 Использование COUNT в запросах
19:50 ДЗ 1 "Простые выборки"
20:01 ДЗ 1 "Простые выборки" - Решение
25:17 Использование WHERE в запросах
36:17 AND и OR
46:56 BETWEEN
52:27 IN, NOT IN
57:24 Сортировка с ORDER BY
1:02:37 Вычисление минимума, максимума и среднего: MIN, MAX, AVG
1:08:21 ДЗ 2 "Простые выборки"
1:08:32 ДЗ 2 "Простые выборки" - Решение
1:16:14 LIKE в запросах для поиска строк
1:22:21 LIMIT
1:24:36 Проверка на NULL: IS NULL, IS NOT NULL
1:27:38 Группировка GROUP BY
1:33:12 Пост фильтрация с HAVING
1:37:06 Объединение, пересечение, разница в SQL - UNION, INTERSECT, EXCEPT
1:48:17 ДЗ "Группировка, сопоставление, сортировка"
1:48:28 ДЗ "Группировка, сопоставление, сортировка" - Решение
ДЗ к данному уроку находятся в папке по ссылке:
bit.ly/3fxR6Yy
#sql #postgresql #engineerspock
Подпишись на канал bit.ly/2QBesmw
Купил курс SQL в Нетологии и только потом нашёл эти видео. Чувствую себя глупо. Автор гораздо качественнее и удобнее доносит материал.
Курс бомба, долго выбирал, остановился на этом и не пожалел! Спасибо за труды!
Спасибо за курс. Исправьте в решении ДЗ - 2 опечатку.
Задание - 3. Выбрать *минимальное кол-во единиц* товара среди тех продуктов, которых в продаже более 30 единиц.
Ваше решение - SELECT MIN( *unit_price* ).
FIRE!!! 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥 Thanks a bunch! The most comprehensive course on CZcams hands-down. Still can't believe it's utterly free of charge. God bless you, man.
where r u from? How u watching video on russian language?xD with subtitles?
@@Noor2Gun I'm fluent in Russian.
Добавлю немного про группировку:
1) Стоит учитывать, что любой столбец, который используется в выражении SELECT (не считая столбцов, которые хранят результат агрегатных функций - MIN, COUNT, MAX, AVG и др), должны быть указаны после оператора GROUP BY.
2) Оператор GROUP BY может выполнять группировку по множеству столбцов.
Обучаюсь на курсах Скайпро, там так ужасно преподают материал, а здесь, всё по полочкам разложено, разжёвано. Молодец автор!
Очень крутой урок! Спасибо огромное за труд и время! Все понятно и задачи после твоих объяснений решаются без ошибок, что очень радует и вдохновляет на дальнейшее обучение)))
Какой дельный курс! спасибо огромное! Вы вне всякой конкуренции!
Это действительно лучший курс, который мне удалось найти. Спасибо автору!
Автору спасибо за курс.) Будет круто, если получиться поправить задание на гите :)
-- 3. Выбрать минимальное кол-во единиц товара среди тех продуктов, которых в продаже более 30 единиц.
-- 4. Выбрать максимальное кол-во единиц товара среди тех продуктов, которых в продаже более 30 единиц.
и получается что надо не unit_price сделать, а units_in_stock where units_in_stock
Поддерживаю, тоже заметил опечатку, полез в коменты строчить, а тут уже ваш :)
+1
19ДЗ . 2 задание:(исправить) Выбрать записи заказов : включить колонки идентификатора заказа, идентификатора заказчика, веса и страны отгрузки, имя страны должно начинается с 'N', отсортировать по весу (по убыванию) и вывести только первые 10 записей.
Прошел год и ниче не поправили...
Правильно озвучить задание исходя из решения автора было:
4. Выбрать максимальное кол-во единиц товара на складе среди тех продуктов, у которых цена более 30 единиц.
@@hamster_04 врядли автор читает комменты такой давности на ютубе... но вроде этот курс продается на удеми, неужели и там никто не обратив внимание...
Замечательно прям разжевываешь, рил, то что нужно!!
Хочу выразить автору и всем, кто причастен к созданию данного курса роликов - огромную благодарность! В первом ролике вначале чуть не засыпал и думал ну что за нудное повествование. Теперь, на середине второго ролика не заметил как втянуло. И повествование отличное, и материал всеобъемлющий и максимально подробный! Спасибо огромное и всех благ вам!
Илья,
Спасибо большое за курс, материал хорошо структурирован. Учу sql по вашему курсу
55:00 Мне кажется очень важно упомянуть, что NOT IN можно применять только к списку значений, в котором точно нет NULL. Далее информация для рандомного читателя. Например, в терминах урока запрос:
SELECT * FROM employees WHERE region NOT IN ('OLOLO', NULL);
Казалось бы должен вернуть всех сотрудником с регионом 'WA', ведь такого нет в нашем списке. Но вернется пустое множество. Потому что NOT IN равносилен серии неравенств, соединенных через NULL. То есть:
SELECT * FROM employees WHERE region != 'OLOLO' AND region != NULL;
Решаем полученное логическое выражение "region != 'OLOLO' AND region != NULL". Первое неравенство для строки с region = 'WA' будет TRUE, поскольку действительно 'WA' != 'OLOLO'. Но вот 'WA' != NULL даст нам не TRUE (хотя казалось бы), а тот же NULL. Как следствие, в итоге у нас выражение принимает вид TRUE AND NULL. Что в итоге дает тоже NULL. А выведены будут только те строки, для которых значение выражения в фильтре равно TRUE. Но для всех строк оно будет NULL, а не TRUE. Поэтому ни одна строка выведена не будет.
- 1:24:25 тут стоит упомянуть, что LIMIT применяется уже после вычисления всего результирующего набора строк. То есть он не ускоряет запрос. Не стану ручаться за случай, где есть только WHERE, хотя ChatGPT говорит, что и в этом случае сперва будет получен полный набор строк, но мы ему не очень верим.
- Также стоит упомянуть, что ключевое слово OFFSET n позволяет пропустить первые n строк.
Супер доступный и понятный курс. Крутой автор!
Большое спасибо за твой труд! Все последовательно и без воды.
Всегда пожалуйста)
задачи 3 и 4 на 1:11:50 там ведь нужно искать минимум и максимум по столбцу units_in_stock, а не по unit_price. В условии просят найти " Выбрать минимальное кол-во ЕДИНИЦ товара среди тех продуктов, которых в продаже более 30 единиц." Решение 4 задачи такое вроде:
SELECT MAX (units_in_stock), product_name
FROM products
WHERE units_in_stock > 30
GROUP BY product_name
ORDER BY product_name
А курс огонь, согласна со всеми комментами. Один из лучших, 10 учебников в 1 курсе
Шикарно, по факту, проходка по документации и методах но! С применением на хороших примерах и мини задания пушка, я перед просмотром следующей части , прохожу задания по 2 разу, что бы закрепить материал, каеф :)!
Большое спасибо! Лучшее по SQL!
Пока что лучший курс что я встречал, спасибо автору за труды и что выложил в бесплатный доступ.
Здесь только половина, но это тоже довольно много
@@EngineerSpock Спасибо за курс! А где можно найти 2-ую половину?)
Необходима коррекция 3 и 4 пункта ДЗ-простые выборки 2 на гитхабе. (путаница)
Прекрасный курс, огромное спасибо)
Спасибо за видео.Коммент в поддержку!
Очень быстрое и понятное объяснение группировки, это прям как бальзам на душу
Я наоборот не понял, и судя по тому, что этот кусок пересматривают чаще всего, видимо не один я. Смотрел другие источники чтобы разобраться. В остальном хорошая лекция.
Ай ай ай, неплох
Курс пушка, спасибо ❤
То что доктор прописал 👏
Курс супер. смотрю как сериал )
Комментарий в поддержку! Спасибо за видео!
Самый классный курс по Postgres!!!!!!!! Очень КРУТО!!!!
Очень понравился данный урок :)
В дз 2 условие не корректно "3. Выбрать минимальное кол-во единиц товара среди тех продуктов, которых в продаже более 30 единиц."
- В условии "минимальное кол-во единиц товара"
- А выбираете вы по минимальной цене min(unit_price)
тоже обратил внимание, в 4 тоже ошибка, надо подкорректировать на гитхабе.
Так же обратил внимание) Столько просмотров у видео, а написало об этом пару человек)
Просто спасибо, нет слов
Отличный канал и отличные уроки. Вопрос - а как настроить pgAdmin, чтобы команды печатались в верхнем регистре? Устанавливал Query Tool -> Auto completion-> Keywords in uppercase не помогает. Никак не реагирует. Может ещё где-то надо ?
у меня вопрос как у вас на 1:21:00 выполняются команды, когда вы не ставите точку с запятой после предыдущей команды?
Привет! Спасибо большое за этот кладезь информации) Вылезло в разнице дней не 5, например, а 5 000000 ( а # OrderID, ShippedDate - OrderDate
'10248', '12000000'
'10249', '5000000'
'10250', '4000000'
'10251', '7000000'
'10252', '2000000'
) Подскажи, пожалуйста, как это привести в тот же вид, что и у тебя? П.с. работаю в MYSQL, скрипт скачала адаптированный под него.
Погромное спасибо, очень много, очень вкусно
9:53 то есть можно безпроблемно перемножать разные типы данных (real и smalint) и получать другой тип данных?
1:12:30 только в задании было найти минимальное количество продуктов (units_in_stock) а не минимальную цену
А где можно взять ДЗ в видео? По ссылке открывается гитхаб, а там только решения, без заданий
Откуда можно брать таблицы которые он показывает? customer
Текст ДЗ можно получить только на платном курсе?
Вопрос:
Если есть допустим три Аргентины в таблице кастомерс и три Аргентины в таблице саплайерс, при применении между запросов ЭКСЕПТ ОЛ вывод в результирующей таблице будет "0", ноль, т.е. отсутствие название города Аргентина?
; ставить или нет в конце запроса после FROM или WHERE...?
что-то ссылки на гитхаб и домашнее задание не работают можете проверить?
Thank you bro
не сразу понял часть про GROUP BY, пришлось дополнительно гуглить. в остальном, материал - топчик.
42:16 Второй запрос можно было немного проще записать.
SELECT *
FROM Costumers
WHERE city IN ('Berlin', 'London', 'San Francisco');
Why not leave a comment and like this amazing video. The real deep dive course into SQL and the best part is it is free. Thanks a lot
А вместо OR, разве нельзя через запятую прописать все нужне города ?
Доброе утро! Подскажите можно ли в СУБД PostgreSQL поменять светлую тему на темную?
А можно телевизор купить, который чтобы только русские фильмы показывал? Это ведь не от СУБД зависит светлая тема или нет. Эта база данныx вообще на сервере или на компе у тебя. Стучись к ней как хочешь. Автор уроков использует ГУИ программу pgAdmin , со светлой темой. можно и на темную настроить
Спасибо за видео уроки! Круто!
НО почему отладка у меня идёт слишком долго???
1-2 Минуты отладка на простой абзац(
Спасибо
Огонь🔥🔥🔥
northwind еще в skypro используется для ДЗ, я даже сказал бы задания со степика очень похожи на задания в skypro. Это популярная БД для заданий?
Да, она учебная
Вы приводили пример по EXECPT ALL когда в первой таблице было большее количество 'USA' именно 10, а во второй было 4, результат равен 6. А если во второй будет большее количество- допустим инвертировать их местами, как отреагирует EXCEPT ALL?
проверь епт
И еще вопрос можно? Собираюсь купить ваш курс. Но сначала могу ли я просмотреть все бесплатные на ютуб, а затем продолжить уже по курсу далее? Или мне нужно будет смотреть курс заново, потому как там может быть добавлена новая информация в самом начале и видео-лекции отличаются? Впервые собираюсь купить курс, поэтому возможно мои вопросы звучат глупо.
Можете здесь начать
спасибо
Здравствуйте! У вас на сайте есть курс по postgresql, в чем отличие материала от данного курса?
Здесь только половина
Не понятно откуда береться например в SUM(units_in_stoks) что это?именно это откуда берётся units_in_stokc?также не понятно откуда берется в where это discontinued?, вообщем вопросов куча ответов нет)
это имена колонок в таблице, конкретно эти из таблицы products, какие там есть колонки можно посмотреть слева в меню бд или SELECT * FROM products
Уважаемый автор, в этом видео Вы несколько раз оговорились про "полную" сумму, под которой подразумевается цена, перемноженная на количество. В финансовом менеджменте это называется выручка (сколько всего юр. лицо получает средств от реализации товаров, услуг и пр.). Этот комментарий - исключительно с целью ликбеза из смежной области. По предмету видео замечаний нет - все ясно и понятно, с удовольствием осваиваю.
Я в курсе, даже не знаю почему говорил именно так)
Данный курс на CZcams - сильно укороченная (демо) версия полного курса, который вы можете приобрести на stepik (с карточкой из РФ) или Udemy (с карточкой не из РФ)
Купить полный курс на stepik:
www.engineerspock.com/buy-postgres-youtube-stepik - получите скидку 30%
Купить полный курс на udemy:
www.engineerspock.com/buy-postgres-youtube-udemy
Все курсы от EngineerSpock: www.engineerspock.com/offer-spock-youtube
*****
Подпишись на канал в Telegram: t.me/engineerspock_it
Подписка на Boosty: boosty.to/engineerspock
Донаты на развитие: pay.cloudtips.ru/p/1f080f72
Чат в Telegram: t.me/python_devs
Ссылка на репозиторий в GitHub: github.com/EngineerSpock/postgres-course-ru
*****
Илья,
А есть возможность экспорта результирующего запроса в xml?
stackoverflow.com/questions/49185210/postgresql-using-copy-function-to-export-results-to-xml-file
должно помочь
@@EngineerSpock О, интересно! У меня до этого получалось через shell. \copy query to xml
Попробую как по ссылке
Илья спасибо ещё раз!
Я не могу найти условие ДЗ вижу только решение помогите с проблемой
Почему стоимость разная в stepik и udemy? Одинаковое ли содержание в обоих случаях?
Одинаковое. Стоимость по разному формируется и не всегда зависит от меня, скажем так
И не увидел разницы между регистрами ключевых слов в запросе, одинаково, что заглавными написано, что со строчными. Если так и должно быть то, зачем каждый раз капс тыкать?
С ; в конце запроса то же самое. Что с ;, что без них - одинаково работает.
🔥🔥🔥
^ - знак вставки, англ caret
4 задание т.ж. только наоборот - ошибка "которых в продаже более 30" - нужно "цена которых более 30". Если уж решение такое даете
Исправлено в платных версиях курса) здесь такой возможности нет, увы
Скажите, пожалуйста, а есть ли SQL пакет, чтобы это было бесплатное пользование и не была бы демо версия ?
Postgresql полностью бесплатен. Вы о чём?
@@EngineerSpock Спасибо. Я попробую его загрузить. А вообще по своему функционалу SQL сильно отличаются друг от друга ? Например, PostgreSQL от SQL Server ?
@@user-nw8hr5hm2z принципиально мало в чём с точки зрения языка программирования.
А пример работы с JSON будут?
Надо будет сделать
ошибка в ДЗ по простым выборкам 2. Задание 3. Требуется найти минимальную цену, а в задании написано - найти минимальное количество единиц товара
Всё исправлено в платных версиях курса) здесь поправить нет возможности
OR выше гор)
Одна и та же команда может выполняться милисекунды , так и десятки секунд, в чём может быть проблема?(
1:26:30 _"равенство на а нал проверяется так")_
Именно!)
ссылки битые можете исправить?
Это какие?
спасибо за топовый курс. Но Buchanan читается вот как: "Бьюкэнон" ;-)
🤓👆
что-то на 1м уроке народу много потерялось
😎👏👍
Курс просто замечательный! 👍У меня только одна придирка - Мехико - это город в Мексике, его столица. А Мексика - страна)
легче не использовать BETWEEN
1:06:32 что происходит в моей голове, когда я точно не помню написание английского слова
Курс шикарный! Но мне кажется у многих возникает трудность понимания из-за английского языка в названиях таблиц и их столбцов, иногда трудно понять
Так здесь же базовые английские слова
ошибка во втором дз (простые выборки-2) так никуда и не делась.
А что там за ошибка?
@@EngineerSpock вы пишите про количества, а в решение количества и цена в разных вариациях, т.е. задание, с тем что на самом деле требуется, судя по ответам, расходится. Видео разбор также это подтверждает, что вы рассмотрели решение других условий, а не то, что в файле в репе
Осилил.....
shipped date - дата доставки
Я там дата отгрузки что-ли говорю? Или как?
@@EngineerSpockДа
Дата отгрузки
1:16:15
26
Ты не реально крут