본문 바로가기
공부/SQL

SQL Zoo 03 - Select from WORLD

by 혼밥맨 2022. 1. 6.
반응형

SQL Zoo 03 - Select from WORLD


Database


 

문제 1. QL 명령 실행 결과를 관찰하여 모든 국가의 이름, 대륙 및 인구를 추출하세요.
정답
1
2
SELECT name, continent, population
FROM world
cs
 
 
문제 2. 인구가 최소 2억 명인 나라들의 이름을 보여 주세요. 
정답
1
2
SELECT name FROM world
WHERE population >= 200000000
cs

 

문제 3. 최소한 2억 명의 인구를 가진 나라들의 name과 GDP per capita (1인당 GDP)를 추출해보세요.
정답
1
2
3
SELECT name, gdp/population
FROM world
WHERE population >= 200000000
cs

 

문제 4. South America 대륙의 나라들의 이름 (name)과 인구 (population)를 수백만 단위로 표시하세요. 인구를 1000000으로 나누면 100만 명이 된다.
정답
1
2
3
SELECT name, population/1000000
FROM world
WHERE continent = 'South America'
cs

 

문제 5. 프랑스, 독일, 이탈리아의 이름과 인구를 표시합니다.
정답
1
2
3
SELECT name, population
FROM world
WHERE name='France' or name='Germany' or name='Italy'
cs
1
2
3
SELECT name, population
FROM world
WHERE name in ('France','Germany','Italy')
cs

 

 

문제 6. 'United'라는 단어가 포함된 이름을 가진 국가를 표시합니다.
정답
1
2
3
SELECT name
FROM world
WHERE name LIKE '%United%'
cs

 

문제 7. 크게 되기 위한 두 가지 방법: 면적이 300만 평방 킬로미터 이상이거나 인구가 2억 5천만 명이 넘으면 나라가 커요.

면적별로 크거나 인구별로 큰 나라들을 보여 주세요. 이름 (name), 인구 (population) 및 지역 (area) 을 표시합니다.
정답
1
2
3
SELECT name, population, area
FROM world
WHERE area>=3000000 OR population >= 250000000
cs

 

 

문제 8. Exclusive OR(XOR)입니다. 면적(300만 명 이상) 또는 인구(2억5000만 명 이상)로 크지만 둘 다 아닌 나라를 보여 줍니다. 이름 (name), 인구 (population) 및 지역 (area)을 표시합니다.

 *호주는 면적은 넓지만 인구가 적어서 포함시켜야 한다.
 *인도네시아는 인구가 많지만 면적이 적어서 포함시켜야 한다.
 *중국은 인구도 많고 면적도 넓으니 제외해야 한다.
 *영국은 인구도 적고 면적도 좁으니 제외해야 한다.
정답
1
2
3
SELECT name, population, area
FROM world
WHERE (area>=3000000 AND population <= 250000000) OR (area<=3000000 AND population >= 250000000)
cs

 

 

문제 9. South America 대륙 국가들의 이름과 인구를 million 단위로, GDP를 billion 단위로 보여줍니다. ROUND 함수를 사용하여 값을 소수점 두 자리까지 표시합니다.
정답
1
2
3
SELECT name, ROUND(population/10000002), ROUND(GDP/10000000002)
FROM world
WHERE continent='South America'
cs

 

문제 10. GDP가 최소 1조 이상인 국가의 이름과 1인당 GDP(100000000, 즉 0)를 표시합니다. 이 값을 가장 가까운 1000으로 반올림합니다.
정답
1
2
3
SELECT name, ROUND(GDP/population,-3)
FROM world
WHERE GDP>= 1000000000000
cs

 

문제 11. 그리스의 수도는 아테네 입니다.
'Greece'와 'Athens'의 각 문자열에는 6개의 문자가 있습니다.
이름과 수도의 문자 수가 같은 이름과 수도를 표시합니다.

LENGTH 함수를 사용하여 문자열의 문자 수를 찾을 수 있습니다.
정답
1
2
3
SELECT name, capital
FROM world
WHERE LENGTH(name) = LENGTH(capital)
cs

 

 

문제 12. 스웨덴의 수도는 스톡홀름입니다. 두 단어 모두 S로 시작합니다.

각 문자의 첫 글자가 일치하는 이름과 수도를 표시합니다. 이름과 수도가 같은 나라는 포함하지 마세요.

LEFT 기능을 사용하여 첫 번째 문자를 분리할 수 있습니다.
<>를 NOT EQUALS 연산자로 사용할 수 있습니다.
정답
1
2
3
SELECT name, capital
FROM world
WHERE (LEFT(name,1= LEFT(capital,1)) AND name<>capital
cs

 

 

문제 13. Equatorial Guinea (적도 기니)와 Dominican Republic (도미니카 공화국)은 이름에 모든 모음(a e i o u)을 가지고 있다. 그들은 이름에 하나 이상의 단어가 있기 때문에 세지 않습니다.

이름에 공백이 없고 모음만 있는 나라를 찾아보세요.

NOT LIKE '%a%' 구를 사용하여 결과에서 문자를 제외할 수 있습니다.
표시된 쿼리에는 'a'가 하나 이상 포함되어 있기 때문에 바하마 및 벨라루스와 같은 국가가 누락되었습니다.
정답
1
2
3
4
5
6
7
8
SELECT name
FROM world
WHERE name LIKE '%a%' 
    AND name LIKE '%e%'
    AND name LIKE '%i%'
    AND name LIKE '%o%'
    AND name LIKE '%u%'
    AND name NOT LIKE '% %'
cs

 

반응형

'공부 > SQL' 카테고리의 다른 글

SQL Zoo 06 - SUM and COUNT  (0) 2022.01.11
SQL Zoo 05 - SELECT within SELECT Tutorial  (0) 2022.01.09
SQL Zoo 04 - SELECT from Nobel Tutorial  (0) 2022.01.09
SQL Zoo 02 - Select Name  (0) 2022.01.05
SQL Zoo 01 - Select Basics  (0) 2022.01.04

댓글