Перейти к содержимому
TelegramGitHub

Средний уровень SQL

Второй уровень. Вы считаете агрегаты, группируете данные и соединяете таблицы.

Работаем с таблицами Crunchbase, акциями Apple и футболистами. Описание таблиц: Учебные данные. Нужны знания из уровня Основы.

Решайте сами, без AI. Сначала задание, потом проверка, и только потом решение.

1 N 1 N 1 N tutorial.crunchbase_acquisitions company_permalink text company_name text acquirer_name text acquired_at text acquired_year bigint price_amount double price_currency_code text … ещё 13 ст. benn.college_football_teams division text conference text school_name text roster_url text id int tutorial.aapl_historical_stock_price date date year int month int open double high double low double close double volume bigint id int tutorial.crunchbase_companies permalink text name text category_code text funding_total_usd bigint status text country_code text state_code text founded_at text founded_year bigint … ещё 8 ст. tutorial.crunchbase_investments company_permalink text company_name text investor_permalink text investor_name text investor_country_code text funding_round_type text funded_at text funded_year bigint raised_amount_usd double … ещё 11 ст. tutorial.crunchbase_investments_part1 Компании A–L Те же столбцы, что у crunchbase_investments tutorial.crunchbase_investments_part2 Компании M–Z Те же столбцы, что у crunchbase_investments benn.college_football_players full_school_name text school_name text player_name text position text height int weight int year text hometown text state text id int

Как читать схему. Линия — связь для JOIN. Подписи 1 и N показывают, сколько строк с каждой стороны: у одной компании может быть много покупок и инвестиций. Выделенный столбец — ключ соединения. Пунктир — представление (view): часть данных другой таблицы. Таблицы без линий не связаны с остальными. Показаны главные столбцы широких таблиц. Полный список столбцов: Учебные данные.

  1. Агрегатные функции
  2. COUNT
  3. SUM
  4. MIN и MAX
  5. AVG
  6. GROUP BY
  7. HAVING
  8. CASE
  9. DISTINCT
  10. JOIN
  11. INNER JOIN
  12. Внешние соединения (OUTER JOIN)
  13. LEFT JOIN
  14. RIGHT JOIN
  15. Фильтр в WHERE или в ON
  16. FULL OUTER JOIN
  17. UNION
  18. JOIN с операторами сравнения
  19. JOIN по нескольким ключам
  20. Self JOIN