2025년 데이터베이스개론 기말 과제
주어진 데이터를 이용하여 다음의 과제를 수행하시오
분반: 데이터베이스개론 (DT00010-01)
학번: 2022110433
이름: 이지윤
1. JAPAN(Area Code A392) 지역 내 각 작물별로 연도별 산출물(컬럼 Element)의 변화를
추출하려고 한다. Element(item_category: E로 시작함)별로 그룹화 하여 출력하는 SQL 문
과 실행 결과를 함께 제시하시오 (정렬 순서: 연도별 오름차순, 필수 추출 속성: Area,
Element, Item, Year, Unit, Value)(20점)
SQL문
SELECT AREA, Element, Item, YEAR, Unit, VALUE FROM FAOSTAT_data WHERE
Area_Code = 'A392' ORDER BY YEAR, Element ASC;
실행 결과
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2. China Mainland, Japan, Republic of Korea 등 세 국가에서 연도별 item의 생산량을
Republic of Korea 지역을 기준으로 비교하려고 한다. 품목별 각 지역의 단위 면적 당 생
산량(Element Code : E5412)과 Republic of Korea 지역 단위 면적 당 생산량과의 비율을
출력하는 SQL문과 실행 결과를 함께 제시하시오(정렬 순서: 연도별 오름차순)(20점)
SQL문
SELECT
A.YEAR,
A.Item,
A.Area,
A.Value AS Area_Value,
K.Value AS Korea_Value,
ROUND(A.Value / K.Value, 2) AS RatiotoKorea
FROM
FAOSTAT_data A
JOIN
FAOSTAT_data K
ON A.Item = K.Item
AND A.Year = K.Year
AND K.Area = 'Republic of Korea'
WHERE
A.Area IN ('China, mainland', 'Japan', 'Republic of Korea')
AND A.Element_Code = 'E5412'
AND K.Element_Code = 'E5412'
ORDER BY
A.YEAR ASC, A.Item ASC, A.Area ASC;
실행 결과
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
3. China, Mainland, Japan, Republic of Korea 등 세 국가에서 연도별 각 품목 생산량
(Production)과 경작지 규모(Area Harvested, E5312)를 연도별(오름차순)으로 보는 View를
국가별로 만들려고 한다. 각 국가별 View와 실행 결과를 각각 캡쳐하여 추가하시오.(각
15점)
SQL문
//중국
CREATE VIEW view_china_production_area AS
SELECT
year,
item,
MAX(CASE WHEN element = 'Production' THEN value END) AS production,
MAX(CASE WHEN element = 'Area Harvested' THEN value END) AS area_harvested
FROM
FAOSTAT_data
WHERE
area = 'China, Mainland'
AND element IN ('Production', 'Area Harvested')
2025년 데이터베이스개론 기말 과제
GROUP BY
year, item
ORDER BY
year ASC;
//일본
CREATE VIEW view_japan_production_area AS
SELECT
year,
item,
MAX(CASE WHEN element = 'Production' THEN value END) AS production,
MAX(CASE WHEN element = 'Area Harvested' THEN value END) AS area_harvested
FROM
FAOSTAT_data
WHERE
area = 'Japan'
AND element IN ('Production', 'Area Harvested')
GROUP BY
year, item
ORDER BY
year ASC;
//한국
CREATE VIEW view_Korea_production_area AS
SELECT
year,
item,
MAX(CASE WHEN element = 'Production' THEN value END) AS production,
MAX(CASE WHEN element = 'Area Harvested' THEN value END) AS area_harvested
FROM
FAOSTAT_data
WHERE
area = 'Republic of Korea'
AND element IN ('Production', 'Area Harvested')
GROUP BY
2025년 데이터베이스개론 기말 과제
year, item
ORDER BY
year ASC;
실행 결과 (China View)
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
실행 결과 (Japan View)
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
실행 결과 (Korea View)
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제
4. Republic of Korea의 각 item별 생산량이 전년 대비 어느 정도 증가/감소하였는가를 연
도별로 확인하고자 한다(정렬 순서: 연도별 오름차순). 해당하는 SQL과 실행 결과를 캡쳐
하여 함께 추가하라(15점)
SQL문
SELECT
t.Year,
t.Item,
t.Value AS This_Year_Value,
l.Value AS Last_Year_Value,
(t.Value - l.Value) AS Difference,
ROUND((t.Value - l.Value) / l.Value * 100, 2) AS in_decrease_rate
FROM
FAOSTAT_data t
JOIN
FAOSTAT_data l
ON t.Item = l.Item
AND t.Year = l.Year + 1
AND t.Area = 'Republic of Korea'
AND l.Area = 'Republic of Korea'
WHERE
t.Element_Code = 'E5510'
AND l.Element_Code = 'E5510'
ORDER BY
t.Year ASC,
t.Item ASC;
2025년 데이터베이스개론 기말 과제
실행 결과
2025년 데이터베이스개론 기말 과제
2025년 데이터베이스개론 기말 과제