Mastery with SQL — это практико‑ориентированный курс, который помогает быстро и уверенно освоить современный SQL. Материал подаётся доступно, последовательно и с большим количеством упражнений, чтобы вы не просто смотрели, а действительно учились на практике.
Что представляет собой этот курс
Курс построен вокруг реальных задач анализа данных и охватывает как основы SQL, так и продвинутые техники: оконные функции, CTE, сложные объединения, работу с датами и многое другое.
Современный SQL на базе PostgreSQL
Обучение проходит с использованием PostgreSQL 11 — одной из самых мощных и популярных СУБД с открытым исходным кодом. Вы изучите современные методы и узнаете, когда применять расширения PostgreSQL, а когда придерживаться ANSI SQL.
От простого к сложному
Материал выстроен так, чтобы вы могли постепенно перейти от базовых запросов к уверенной работе с продвинутыми конструкциями, сохраняя глубокое понимание каждой темы.
Практика в центре обучения
Более 140 упражнений с решениями
- Задания от простых до продвинутых уровней.
- Подробные разборы решений.
- Запросы, основанные на примере вымышленной компании по прокату фильмов.
Реальные сценарии и запросы
Вы научитесь создавать запросы для анализа клиентов, фильмов, продаж и персонала. Такие задания отражают настоящую работу аналитиков и специалистов по данным.
Преимущества курса
Всегда актуальный контент
Материалы регулярно обновляются в соответствии с новыми версиями PostgreSQL. В курсе — только современный SQL, без устаревших приёмов.
Понятная подача даже для новичков
SQL может казаться сложным, особенно если вы никогда не работали с базами данных. Курс создан так, чтобы снять страх и объяснить всё на человеческом языке.
Высококачественное видео
Все уроки записаны в HD с чистым звуком, чтобы ничто не отвлекало от обучения.
Дополнительные материалы и заметки к урокам
Урок 8
Скачайте установочные файлы:https://github.com/neilwithdata/mastery-with-sql.
Урок 48
Скачайте файлы и размещайте их следующим образом:
- Windows: поместите ch11-users.csv, ch11-notes.csv и ch11-note_tags.csv в C:\Users\Public
- Mac: поместите эти же файлы в /tmp (через Finder → «Перейти» → «Перейти к папке» → /tmp)
Ссылки на упражнения
Итог
Этот курс — отличный выбор, если вы хотите научиться думать и работать как специалист по данным, уверенно владеть современным SQL и применять его для решения реальных задач. Вы погрузитесь в практику, укрепите навыки и получите мощную базу для дальнейшего развития.
Exercises - Advanced join topics
6.8 Write a query to return a count of the number of films rented by every customer on the 24th May, 2005. Order the results by number of films rented descending.
Table(s) to use: customer, rental
customer_idnum_rented
1| 1|
2| 1|
3| 1|
4| 1|
5| 1|
6| 1|
7| 1|
8| 1|
9| 0|
10| 0|
11| 0|
12| 0|
13| 0|
Actually, the solution he provides is incorrect.
select
c.customer_id,
count(r.rental_id) as num_rented
from customer as c
left join rental as r
on c.customer_id = r.rental_id
and date_trunc('day', r.rental_date) = '20050524'
group by c.customer_id
order by num_rented desc;
The thing is I don't get is why he binds c.customer.id with r.rental_id - if both tables shares a common column which is customer_id. That's why he gets 1 instead of relevant ids.
select c.customer_id, count(r.rental_date)
from customer c
left join rental r using (customer_id)
where date_trunc('days', rental_date) = '2005-05-24'::date
group by c.customer_id
order by count(r.rental_id) desc
c_id, count
============
130, 1
222, 1
239, 1
269, 1
333, 1
408, 1
459, 1
549, 1
https://coursehunters.online/t/masterywithsql-a-hands-on-course-built-for-the-busy-learner-part-1
https://coursehunters.online/t/masterywithsql-a-hands-on-course-built-for-the-busy-learner-part-2