-- 답안 제출
SELECT *
FROM populations
WHERE life_expectancy >= (
SELECT AVG(life_expectancy) * 1.15 AS AVGE
FROM populations
WHERE year = 2015
);
-- 답안 코드
SELECT *
FROM populations
WHERE life_expectancy > 1.15 * (SELECT
AVG(life_expectancy)
FROM populations
WHERE year = 2015)
;
-- 답안 제출 & 답안 코드
SELECT
name
, country_code
, urbanarea_pop::INTEGER
FROM cities
WHERE name IN(SELECT capital FROM countries)
ORDER BY urbanarea_pop DESC
;
-- INNER JOIN 서브쿼리 변환
SELECT
co.name AS country
, COUNT(*) AS cities_num
FROM cities ci
INNER JOIN countries co
ON co.code = ci.country_code
GROUP BY country
ORDER BY cities_num DESC, country;
-- 답안 제출
SELECT
country_name AS Country
, COUNT(*) AS cities_num
FROM (
SELECT country_name
FROM countries A
INNER
JOIN cities B
ON A.code = B.country_code
) A
GROUP BY country
ORDER BY cities_num DESC
;
-- 답안 코드
EXPLAIN
SELECT
A.country_name AS country,
(SELECT COUNT(*)
FROM cities
WHERE A.code = cities.country_code) AS cities_num
FROM countries A
ORDER BY cities_num DESC, country;
-- 답안 제출
SELECT
country_name AS name
, continent
, inflation_rate
FROM (
SELECT
A. code
, country_name
, continent
, year
, inflation_rate
, RANK() OVER(PARTITION BY continent ORDER BY inflation_rate DESC) AS RNK
FROM countries A
INNER
JOIN economies B
ON A.code = B.code
WHERE inflation_rate is NOT NULL
AND year = 2015
) A
WHERE RNK = 1
ORDER BY 1
;
SELECT
country_name AS name
, continent
, inflation_rate
FROM countries A
INNER
JOIN economies B
ON A.code = B.code
WHERE year = 2015 AND inflation_rate IN
(SELECT MAX(inflation_rate)
FROM (SELECT
country_name
, continent
, inflation_rate
FROM countries A
INNER
JOIN economies B
ON A.code = B.code
WHERE year = 2015
) A
GROUP BY continent)
;
Spark SQL_ch 01_ Vs code에서 가상환경 연결하기 (0) | 2023.10.16 |
---|---|
Spark SQL_ch 00_ AWS 웹 서버 접속 방법 정리 및 Putty 세팅 방법 (0) | 2023.10.16 |
PostgreSQL Ch 03. 코드(쿼리) 문법#1 (0) | 2023.10.13 |
PostgreSQL Ch 02. Data Table & Data Import (0) | 2023.10.13 |
PostgreSQL Ch 01. Windows 10에 삭제하기 (0) | 2023.10.13 |