PO로로/오늘도 SQL

[오늘도 SQL] ORDER BY 정렬 / 내림차순 적용하기

우지이 2022. 12. 2. 00:11
반응형

오늘의 문제. 

한국 도시 중에 인구가 100만이 넘는 도시를 조회하여 인구순으로 내림차순하세요. 
[힌트] 테이블명: City / 컬럼명: name, population

오름차순, 내림차순에 대해서는 배웠지만 까먹은 상태였다.

하지만 모르면 배우면서 하면 되니까 문제없음!

-
일단 나의 접근 방식은 이러하다. 

① 도시명(name)을 조회하는 것이 궁극적인 목적 

② "도시" 테이블에서 추출하면 되겠지?

③ where 조건에서, 인구가 100만이 넘는 것을 설정해주고!

④ 마지막, 내림차순으로 정리하면 될 것이야. (내림차순 하는 방법은 까묵..)

== 한국 도시 중에 인구가 100만이 넘는 도시를 조회하여 인구순으로 내림차순하세요. 
[힌트] 테이블명: City / 컬럼명: name, population ==

SELECT Name
FROM City
WHERE Population > 1,000,000
정답은 아래와 같다.

SELECT name, population
FROM City
WHERE countrycode = "KOR" AND population >= 1000000
ORDER BY population DESC

다시 돌아보자.. WHERE 조건절로 생각했어야 했던 건, 두 가지이다. 
1) 한국 도시 중에서
2) 인구가 100만이 넘는 

정렬이 필요할 경우에는 꼭 ORDER BY를 사용해주고,
내림차순일 경우에는 DESC, 오름차순일 경우에는 AESC

 

그리고 여기서 한 가지 내가 간과한 점이 있다면, 100만이 넘는 도시를 조회하라고 한다면

100만이 넘는 도시명도 포함이니, 같거나 크다는 함수를 사용해야한다는 점이다. 

잊지말기! 

 

반응형