แทรกข้อมูลลงในตารางชั่วคราว
แม้จะสามารถรวมผลลัพธ์ของคิวรีที่คล้ายกันหลายคิวรีเข้าด้วยกันด้วย 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."
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Exploratory Data Analysis ใน 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 ___;