SQL ZOO[MySQL] SELECT within SELECT Tutorial

2022. 3. 4. 14:58Site/SQL ZOO

전체 테이블
러시아보다 큰 인구 수를 가진 국가 조회
유럽에서 1인당 gdp가 영국보다 큰 국가 조회[1인당 gdp = gdp/인구]
Argentina 이거나 Australia가 속한 대륙의 국가, 대륙정보조회[이름순으로 정렬]

Argentina와 Australia의 대륙과 일치하면 출력하도록 서브쿼리를 이용하여 continent가 일치한지 비교하여 출력하였습니다

인구가 Canada보다 많고 Poland보다 적은 국가와 해당 국가 인구 조회

 

유럽국가와 해당인구를 독일의 인구의 백분율로 조회

유럽의 국가의 인구를 독일인구의 백분율로 계산하여 표시하고 ROUND함수를 사용하여 반올림하고 '%' 문자열을 붙여주기 위해 CONCAT 함수를 이용하였습니다

 

*

CONCAT(문자열1, 문자열2) -> 문자열1 + 문자열2

*

모든 유럽 gdp보다 높은 gdp를 가진 국가 조회

*

ALL(서브쿼리 OR 값) 

-  +  >= or > or < or <=

- 전체만족시 TRUE값 반환

*

각각의 대륙내에서 지역크기가 가장 큰 국가의 정보 조회

모든 국가와 비교하기 위해 ALL을 이용하여 AS절을 추가하여 world x, world y를 나눠주었습니다

서브쿼리에서 x. continent와 y.continent를 비교하여 일치하는 국가의 지역을 추출하여 x.continent의 값과 비교하였습니다

 

*

AS[Alias] : 새로운 릴레이션에 이름을 짓기위해 사용하는 별명같은 것입니다. "."연산을 통해서 해당필드에 접근이 가능하며 위처럼 공백으로 생략이 가능합니다

*

각각의 대륙에서 알파벳순서상 첫번째로 오는 대륙과 국가 조회

 

인구가 2천500만명보다 작은 국가에 속한 대륙의 모든 국가 정보 조회

먼저 서브쿼리에서 x.continent와 y.continent를 비교하여 모든 대륙이 일치하는 국가의 인구를 추출한다음 메인쿼리에 25000000과 비교하여 25000000보다 작은 인구정보를 전달하여 값을 출력하였습니다

이웃국가보다 인구가 3배 많은 국가와 그 국가가 소속한 대륙 정보 조회

population*3을 통해 y의 3배보다 많은 인구를 x에서 추출하였고

이웃국가라는 점을 고려하여 <>연산자를 사용하여 겹치는 인구끼리 비교를 하지않도록 해주었습니다

'Site > SQL ZOO' 카테고리의 다른 글

SQL ZOO[MySQL] SUM and COUNT  (0) 2022.03.06
SQL ZOO[MySQL] Nested SELECT Quiz  (0) 2022.03.04
SQL ZOO[MySQL] Nobel Quiz  (0) 2022.03.01
SQL ZOO[MySQL] SELECT from Nobel Tutorial  (0) 2022.03.01
SQL ZOO[MySQL]BBC QUIZ  (0) 2022.02.28