๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Project ESG+AI/[์‚ผ์ •KPMG]ESG ๋ฐ์ดํ„ฐ ํ™œ์šฉ ํ’€์Šคํ… ๊ฐœ๋ฐœ

17์ผ์ฐจ.

by GreenJin_S2 2025. 10. 31.


์˜ˆ์ œ ๋ฌธ์ œ ์ด์–ด์„œ ํ•˜๊ธฐ

 

-- SOCCER_SQL_016-- SOCCER_SQL_016
-- ํ‰๊ท ํ‚ค๊ฐ€ ์ธ์ฒœ ์œ ๋‚˜์ดํ‹ฐ์Šคใ…‡



-- SOCCER_SQL_017-- SOCCER_SQL_017
-- ํฌ์ง€์…˜์ด MF ์ธ ์„ ์ˆ˜๋“ค์˜  ์†Œ์†ํŒ€๋ช… ๋ฐ ์„ ์ˆ˜๋ช…, ๋ฐฑ๋„˜๋ฒ„ ์ถœ๋ ฅ
-- ํฌ์ง€์…˜์ด MF ์ธ ์„ ์ˆ˜๋“ค์˜  ์†Œ์†ํŒ€๋ช… ๋ฐ ์„ ์ˆ˜๋ช…, ๋ฐฑ๋„˜๋ฒ„ ์ถœ๋ ฅ
SELECT * FROM player;

SELECT 
    t.team_name AS ์†Œ์†ํŒ€๋ช…,
p.player_name AS ์„ ์ˆ˜๋ช…,
p.back_no AS ๋ฐฑ๋„˜๋ฒ„,
p.position AS ํฌ์ง€์…˜
FROM player p
join team t ON p.team_id = t.team_id
WHERE p.position='MF';


-- SOCCER_SQL_018-- SOCCER_SQL_018
-- ๊ฐ€์žฅ ํ‚คํฐ ์„ ์ˆ˜ 5 ์ถ”์ถœ, ์˜ค๋ผํด, ๋‹จ ํ‚ค ๊ฐ’์ด ์—†์œผ๋ฉด ์ œ์™ธ
SELECT * from player;

SELECT 
     p.player_name AS ์„ ์ˆ˜๋ช…,
 p.back_no AS ๋ฐฑ๋„˜๋ฒ„,
 p.position AS ํฌ์ง€์…˜,
 p.height AS ํ‚ค
from player p
WHERE height IS NOT NULL
ORDER BY height DESC
FETCH FIRST 5 ROWS ONLY;


-- SOCCER_SQL_019 -- SOCCER_SQL_019 
-- ์„ ์ˆ˜ ์ž์‹ ์ด ์†ํ•œ ํŒ€์˜ ํ‰๊ท ํ‚ค๋ณด๋‹ค ์ž‘์€ ์„ ์ˆ˜ ์ •๋ณด ์ถœ๋ ฅ-- ์„ ์ˆ˜ ์ž์‹ ์ด ์†ํ•œ ํŒ€์˜ ํ‰๊ท ํ‚ค๋ณด๋‹ค ์ž‘์€ ์„ ์ˆ˜ ์ •๋ณด ์ถœ๋ ฅ
SELECT 
     t.team_name AS ํŒ€๋ช…,
 p.player_name AS ์„ ์ˆ˜๋ช…,
 p.back_no AS ๋ฐฑ๋„˜๋ฒ„,
 p.position AS ํฌ์ง€์…˜,
 p.height AS ํ‚ค,
 ROUND(sub.avg_height, 1) AS ํŒ€ํ‰๊ท ํ‚ค
from player p
JOIN team t ON p.team_id = t.team_id
JOIN (
    -- 1๋‹จ๊ณ„: ๊ฐ ํŒ€์˜ ํ‰๊ท ํ‚ค ๊ณ„์‚ฐ
    SELECT 
        team_id,
        AVG(height) AS avg_height
    FROM player
    WHERE height IS NOT NULL
    GROUP BY team_id
) sub ON p.team_id = sub.team_id

WHERE p.height < sub.avg_height
AND p.height IS NOT NULL;

-- SOCCER_SQL_020-- SOCCER_SQL_020
-- 2012๋…„ 5์›” ํ•œ๋‹ฌ๊ฐ„ ๊ฒฝ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๊ธฐ์žฅ ์กฐํšŒ-- 2012๋…„ 5์›” ํ•œ๋‹ฌ๊ฐ„ ๊ฒฝ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๊ธฐ์žฅ ์กฐํšŒ
SELECT * FROM schedule;
SELECT * FROM stadium;

SELECT DISTINCT
    sch.sche_date AS ๋‚ ์งœ,
    s.stadium_name AS ๊ฒฝ๊ธฐ์žฅ
FROM stadium s
 join schedule sch on sch.stadium_id = s.stadium_id
where sch.sche_date BETWEEN '2012-05-01' AND '2012-05-31';

-- SOCCER_SQL_021
-- ์ดํ˜„ ์„ ์ˆ˜ ์†Œ์†ํŒ€์˜ ์„ ์ˆ˜๋ช…๋‹จ ์ถœ๋ ฅ
--X.PLAYER_NAME ์„ ์ˆ˜๋ช…
--    ,X.POSITION ํฌ์ง€์…˜
--    ,X.BACK_NO ๋ฐฑ๋„˜๋ฒ„
SELECT 
 p.player_name AS ์„ ์ˆ˜๋ช…,
 p.position AS ํฌ์ง€์…˜,
 p.back_no AS ๋ฐฑ๋„˜๋ฒ„
FROM player p
WHERE p.team_id = (
    SELECT team_id 
    FROM player 
    WHERE player_name = '์ดํ˜„'
);

-- SOCCER_SQL_022
-- ํŒ€๋ณ„ ํฌ์ง€์…˜๋ณ„ ์ธ์›์ˆ˜์™€ ํŒ€๋ณ„ ์ „์ฒด  ์ธ์›์ˆ˜ ์ถœ๋ ฅ
SELECT * FROM player;

SELECT 
 p.team_id "ํŒ€ID",
COUNT(*) AS ์ด์ธ์›,
    SUM(CASE WHEN p.position = 'FW' THEN 1 ELSE 0 END) AS FW,
    SUM(CASE WHEN p.position = 'MF' THEN 1 ELSE 0 END) AS MF,
    SUM(CASE WHEN p.position = 'DF' THEN 1 ELSE 0 END) AS DF,
    SUM(CASE WHEN p.position = 'GK' THEN 1 ELSE 0 END) AS GK
FROM player p
GROUP BY p.team_id
ORDER BY p.team_id;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-- SOCCER_SQL_016-- SOCCER_SQL_016
-- ํ‰๊ท ํ‚ค๊ฐ€ ์ธ์ฒœ ์œ ๋‚˜์ดํ‹ฐ์Šคใ…‡

 

 

 

-- SOCCER_SQL_017-- SOCCER_SQL_017
-- ํฌ์ง€์…˜์ด MF ์ธ ์„ ์ˆ˜๋“ค์˜  ์†Œ์†ํŒ€๋ช… ๋ฐ ์„ ์ˆ˜๋ช…, ๋ฐฑ๋„˜๋ฒ„ ์ถœ๋ ฅ
-- ํฌ์ง€์…˜์ด MF ์ธ ์„ ์ˆ˜๋“ค์˜  ์†Œ์†ํŒ€๋ช… ๋ฐ ์„ ์ˆ˜๋ช…, ๋ฐฑ๋„˜๋ฒ„ ์ถœ๋ ฅ
 
 
-- SOCCER_SQL_018-- SOCCER_SQL_018
-- ๊ฐ€์žฅ ํ‚คํฐ ์„ ์ˆ˜ 5 ์ถ”์ถœ, ์˜ค๋ผํด, ๋‹จ ํ‚ค ๊ฐ’์ด ์—†์œผ๋ฉด ์ œ์™ธ-- ๊ฐ€์žฅ ํ‚คํฐ ์„ ์ˆ˜ 5 ์ถ”์ถœ, ์˜ค๋ผํด, ๋‹จ ํ‚ค ๊ฐ’์ด ์—†์œผ๋ฉด ์ œ์™ธ
 
-- SOCCER_SQL_019 -- SOCCER_SQL_019 
-- ์„ ์ˆ˜ ์ž์‹ ์ด ์†ํ•œ ํŒ€์˜ ํ‰๊ท ํ‚ค๋ณด๋‹ค ์ž‘์€ ์„ ์ˆ˜ ์ •๋ณด ์ถœ๋ ฅ-- ์„ ์ˆ˜ ์ž์‹ ์ด ์†ํ•œ ํŒ€์˜ ํ‰๊ท ํ‚ค๋ณด๋‹ค ์ž‘์€ ์„ ์ˆ˜ ์ •๋ณด ์ถœ๋ ฅ
 
-- SOCCER_SQL_020-- SOCCER_SQL_020
-- 2012๋…„ 5์›” ํ•œ๋‹ฌ๊ฐ„ ๊ฒฝ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๊ธฐ์žฅ ์กฐํšŒ-- 2012๋…„ 5์›” ํ•œ๋‹ฌ๊ฐ„ ๊ฒฝ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๊ธฐ์žฅ ์กฐํšŒ
 
 
-- SOCCER_SQL_021
-- ์ดํ˜„ ์„ ์ˆ˜ ์†Œ์†ํŒ€์˜ ์„ ์ˆ˜๋ช…๋‹จ ์ถœ๋ ฅ
--X.PLAYER_NAME ์„ ์ˆ˜๋ช…
--    ,X.POSITION ํฌ์ง€์…˜
--    ,X.BACK_NO ๋ฐฑ๋„˜๋ฒ„
 
-- SOCCER_SQL_022
-- ํŒ€๋ณ„ ํฌ์ง€์…˜๋ณ„ ์ธ์›์ˆ˜์™€ ํŒ€๋ณ„ ์ „์ฒด  ์ธ์›์ˆ˜ ์ถœ๋ ฅ
 
 
 
-- SOCCER_SQL_023
-- ์ „์ฒด ์„ ์ˆ˜๋“ค์˜  ํฌ์ง€์…˜๋ณ„ ํ‰๊ท  ํ‚ค ๋ฐ ์ „์ฒด ํ‰๊ท  ํ‚ค ์ถœ๋ ฅS
 
 
-- SOCCER_SQL_024
-- ์†Œ์†ํŒ€๋ณ„ ํ‚ค๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ์‚ฌ๋žŒ๋“ค์˜ ์ •๋ณด
 
 
 
-- SOCCER_SQL_025
-- K-๋ฆฌ๊ทธ 2012๋…„ 8์›” ๊ฒฝ๊ธฐ๊ฒฐ๊ณผ์™€ ๋‘ ํŒ€๊ฐ„์˜  ์ ์ˆ˜์ฐจ๋ฅผ ABS ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ
-- ์ ˆ๋Œ€๊ฐ’์œผ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ
 
 
-- SOCCER_SQL_026
-- 20120501 ๋ถ€ํ„ฐ 20120602 ์‚ฌ์ด์— ๊ฒฝ๊ธฐ๊ฐ€  ์žˆ๋Š” ๊ฒฝ๊ธฐ์žฅ ์กฐํšŒ
 
 
-- SOCCER_SQL_027
-- ์„ ์ˆ˜์ •๋ณด์™€ ํ•ด๋‹น ์„ ์ˆ˜๊ฐ€ ์†ํ•œ ํŒ€์˜  ํ‰๊ท ํ‚ค ์กฐํšŒ
-- ๋‹จ, ์ •๋ ฌ์‹œ ํ‰๊ท ํ‚ค ๋‚ด๋ฆผ์ฐจ์ˆœ
-- ๊ฐ ์„ ์ˆ˜์˜ ํ‚ค๊ฐ€ null ์ธ ๊ฒฝ์šฐ๋Š” null  ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ
 
 
 
 
 
-- SOCCER_SQL_028
-- ํ‰๊ท ํ‚ค๊ฐ€ ์‚ผ์„ฑ ๋ธ”๋ฃจ์œ™์ฆˆ ํŒ€์ด ํ‰๊ท ํ‚ค๋ณด๋‹ค  ์ž‘์€ ํŒ€์˜
-- ์ด๋ฆ„๊ณผ ํ•ด๋‹น ํŒ€์˜ ํ‰๊ท ํ‚ค
 
 
 
-- SOCCER_SQL_029
-- ๋“œ๋ž˜๊ณค์ฆˆ , FC์„œ์šธ , ์ผํ™”์ฒœ๋งˆ ๊ฐ๊ฐ์˜ ํŒ€ ์†Œ์†์˜ GK, MF ์„ ์ˆ˜ ์ •๋ณด
 
 
 
 
-- SOCCER_SQL_030
-- 29๋ฒˆ์—์„œ ์ œ์‹œํ•œ ํŒ€๊ณผ ํฌ์ง€์…˜์ด ์•„๋‹Œ  ์„ ์ˆ˜๋“ค์˜ ์ˆ˜