DLife Planet

[쿼리 공부] 기초 6 여러 기준으로 정렬하기 (order by co1 asc, col2 desc) 본문

DataScience

[쿼리 공부] 기초 6 여러 기준으로 정렬하기 (order by co1 asc, col2 desc)

Western_Gem 2020. 11. 19. 01:24
반응형

기초 5는 그냥 Select에서 칼럼 지정하는 문제인데, 이미 다른 쿼리에서 볼 수 있고,

굳이 설명할 게 없어서 넘어가겠습니다.


출처 - 프로그래머스

[해설] 

모든 프로그래머스 SQL 문제들은 테이블 명, 테이블 스키마(테이블의 구성), 쿼리 목표, 그리고 예시로 구성이 됩니다.

order by로 정렬을 두 가지 이상을 기준으로 할 때 쓰이는 SQL입니다.

 

order by a asc , order by b desc

 

각각 역순 정순이 다를 경우가 있기 때문에 순서를 명시화 시키는 것을 엄숙히 지켜주세요.


[정답]

전 세계 99%의(제 뇌피셜이지만 거의 모두 동의하는 부분) RDBMS SQL문법은 Oracle 아니면 Mysql로 정리가 됩니다. (SQL Server혹은 임베디드 SQL의 문법이 나머지 1%라고 봅니다. 사실상 많이들 안 쓰죠... 물론 어디까지나 제 뇌피셜입니다. 제 주장을 반박하시거나 동의하시는 고인이 있으시다면 댓글로 달아주세요. 전 컴공 전공자가 아닙니다. 하지만, 김풍 형도 냉부해에서 요리 지식 자랑하잖아요 ㅋㅋ)

 

그래서, 어쨌거나 저쨌거나 프로그래머스에서도 Mysql과 Oracle 두 가지 버전의 쿼리를 요구합니다. 꼭 프로그래머스가 아니더라도 공부하실 때 두 가지 문법만 고려하시면 될 거 같습니다.

 

Mysql 모범답안

SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS order by Name asc, datetime desc

Oracle 모범답안

SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS order by Name asc, datetime desc


[SQL Insight]

성능과 무관하게 명시적으로 쓸 수 있는 SQL은 명시적으로 쓰는것을 습관화합시다.

 

반응형
Comments