Вставка данных во временную таблицу
Объединить результаты нескольких похожих запросов с помощью UNION — один из вариантов, но иногда удобнее разбить запрос на несколько шагов. Для этого можно создать временную таблицу и последовательно добавлять в неё строки.
Вычислите корреляции между каждой парой столбцов profits, profits_change и revenues_change из данных Fortune 500.
Временная таблица с результатами должна иметь следующую структуру:
| measure | profits | profits_change | revenues_change |
|---|---|---|---|
| profits | 1.00 | # | # |
| profits_change | # | 1.00 | # |
| revenues_change | # | # | 1.00 |
Для удобочитаемости результатов используйте функцию round():
round(column_name::numeric, decimal_places)
Обратите внимание: шаги 1 и 2 не возвращают данные. Сообщение «Your query did not generate any results.» в панели результатов запроса — это нормально.
Это упражнение является частью курса
Разведочный анализ данных в SQL
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
DROP TABLE IF EXISTS correlations;
-- Create temp table
___ ___ ___ ___ AS
-- Select each correlation
SELECT 'profits'::varchar AS measure,
-- Compute correlations
___(___, ___) AS profits,
___(___, ___) AS profits_change,
___(___, ___) AS revenues_change
FROM ___;