ПочатиПочніть безкоштовно

CTE з вкладеними підзапитами

Якщо ви перераховуєте кілька підзапитів у клаузі FROM із вкладеними виразами, ваш запит, імовірно, стане довгим, складним і важким для читання.

Оскільки багато запитів пишуть із наміром зберігати й запускати їх знову в майбутньому, належна організація — ключ до безперебійної роботи. Упорядкування підзапитів як CTE заощадить вам час, місце й позбавить плутанини в довгостроковій перспективі!

Ця вправа є частиною курсу

Маніпулювання даними в SQL

Переглянути курс

Інструкції до вправи

  • Оголосіть CTE, який обчислює загальну кількість голів у матчах за серпень сезону '2013/2014'.
  • Відфільтруйте список у внутрішньому підзапиті, щоб вибрати лише матчі за серпень сезону '2013/2014'.
  • Виконайте LEFT JOIN CTE до таблиці league, використовуючи country_id із CTE match_list.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- Set up your CTE
___ match_list ___ (
    SELECT 
  		country_id,
  	   (home_goal + away_goal) AS goals
    FROM match
  	-- Create a list of match IDs to filter data in the CTE
    WHERE id IN (
       SELECT ___
       FROM ___
       WHERE season = ___ AND EXTRACT(MONTH FROM ___) = ___))
-- Select the league name and average of goals in the CTE
SELECT 
	___,
    ___(___)
FROM league AS l
-- Join the CTE onto the league table using country_id
LEFT JOIN ___ ON l.id = match_list.___
GROUP BY l.name;
Редагувати та запускати код