การรายงานผลด้วย SQL
Tyler Pernes
Learning & Development Consultant
Gold Medals by Demographic Group
(Western European Countries Only)
+----------+--------------------+-------+
| season | demographic_group | golds |
|----------+--------------------+-------|
| Winter | Male Age 26+ | 13 |
| Winter | Female Age 26+ | 8 |
| Summer | Male Age 13-25 | 7 |
| Summer | Female Age 13-25 | 6 |
| Winter | Male Age 13-25 | 4 |
| Summer | Male Age 26+ | 4 |
| Winter | Female Age 13-25 | 4 |
| Summer | Female Age 26+ | 2 |
+----------+--------------------+-------+



ขั้นตอนที่ 1: ตั้งค่าคิวรีบนด้วย JOIN
SELECT
athlete_id,
gender,
age,
gold
FROM summer_games AS sg
JOIN athletes AS a
ON sg.athlete_id = a.id;
Query ran successfully!
ขั้นตอนที่ 2: ตั้งค่าคิวรีล่าง + UNION ทั้งสอง
SELECT
athlete_id,
gender,
age,
gold
FROM summer_games AS sg
JOIN athletes AS a
ON sg.athlete_id = a.id
UNION ALL
SELECT
athlete_id,
gender,
age,
gold
FROM winter_games AS wg
JOIN athletes AS a
ON wg.athlete_id = a.id;

ขั้นตอนที่ 1: สร้าง UNION เริ่มต้น
SELECT
athlete_id,
gold
FROM summer_games AS sg
UNION
SELECT
athlete_id,
gold
FROM winter_games AS wg;
ขั้นตอนที่ 2: แปลงเป็น subquery + JOIN
SELECT
athlete_id,
gender,
age,
gold
FROM
(SELECT
athlete_id,
gold
FROM summer_games AS sg
UNION ALL
SELECT athlete_id, gold
FROM winter_games AS wg) AS g
JOIN athletes AS a
ON g.athlete_id = a.id;
ตัวเลือก A
SELECT
athlete_id,
gender,
age,
gold
FROM summer_games AS sg
JOIN athletes AS a
ON sg.athlete_id = a.id
UNION ALL
SELECT
athlete_id,
gender,
age,
gold
FROM winter_games AS wg
JOIN athletes AS a
ON wg.athlete_id = a.id;
ตัวเลือก B
SELECT
athlete_id,
gender,
age,
gold
FROM
(SELECT
athlete_id,
gold
FROM summer_games AS sg
UNION ALL
SELECT athlete_id, gold
FROM winter_games AS wg) AS g
JOIN athletes AS a
ON g.athlete_id = a.id;
การรายงานผลด้วย SQL