MySQL 연습문제2

Posted by Seongkyun Yu on 2020-04-30
Estimated Reading Time 1 Minutes
Words 246 In Total
Viewed Times

Data set

https://dev.mysql.com/doc/index-other.html

위 링크에서 world, sakila, employee 데이터를 받아서 푼다.


Q1. 전체 몇개의 대륙이 있는지 출력하세요.

1
2
3
4
5
6
use world;
select sum(DISTINCT Continent) as count
from country
GROUP BY Continent
ORDER BY count desc
LIMIT 1;

Q2. 국가 코드별 도시의 갯수를 출력하세요. (상위 5개를 출력)

1
2
3
4
5
6
use world;
select countrycode, count(countrycode) as count
from city
GROUP BY countrycode
ORDER BY count desc
LIMIT 5;

Q3. 대륙별 몇개의 나라가 있는지 대륙별 나라의 갯수로 내림차순하여 출력하세요.

1
2
3
4
5
use world;
select continent, count(name) as count
from country
GROUP BY continent
ORDER BY count desc;

Q4. 대륙별 인구가 1000만명 이상인 나라의 수와 GNP의 표준편차를 출력하세요. (GNP 표준편차로 내 림차순)

1
2
3
4
5
6
use world;
select continent, count(name) as count, ROUND(stddev(gnp), 2) as std_gnp
from country
where population >= 10000000
GROUP BY continent
ORDER BY std_gnp desc;

Q5. City 테이블에서 국가코드(CountryCode) 별로 총인구가 몇명인지 조회하고 총인구 순으로 내림차 순하세요. (총인구가 5천만 이상인 도시만 출력)

1
2
3
4
5
6
use world;
select CountryCode, sum(Population) as Population
from city
GROUP BY CountryCode
HAVING Population >= 50000000
ORDER BY Population desc;

Q6. 언어별 사용하는 국가수를 조회하고 많이 사용하는 언어를 6위에서 10위까지 조회하세요.

1
2
3
4
5
6
use world;
select Language, count(CountryCode) as count
from countrylanguage
GROUP BY Language
ORDER BY count DESC
LIMIT 5, 5;

Q7. 언어별 15곳 이상의 국가에서 사용되는 언어를 조회하고, 언어별 국가수에 따라 내림차순하세요.

1
2
3
4
5
6
use world;
select Language, count(CountryCode) as count
from countrylanguage
GROUP BY Language
HAVING count >= 15
ORDER BY count DESC;

Q8. 대륙별 전체 표면적크기를 구하고 표면적 크기 순으로 내림차순하세요.

1
2
3
4
5
use world;
select Continent, ROUND(SUM(SurfaceArea)) as SurfaceArea
from country
GROUP BY continent
ORDER BY SurfaceArea DESC;

If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !