DLife Planet

[쿼리 공부] 기초 2 역순 정렬하기 (Order By) 본문

DataScience

[쿼리 공부] 기초 2 역순 정렬하기 (Order By)

Western_Gem 2020. 11. 18. 23:50
반응형

SQL 기초 제2장 바로 갑니다.


출처 - 프로그래머스

[해설] 

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

가장 바람직한 조건문 삽입 포지션인 where에 대한 첫번쨰 예입니다.

(select 문법) where = 'string' (order by)


[정답]

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

 

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

 

Mysql 문법 정답

SELECT NAME, DATETIME from ANIMAL_INS order by ANIMAL_ID desc;

 

Oracle 문법 정답

ANIMAL_ID;SELECT NAME, DATETIME from ANIMAL_INS order by ANIMAL_ID desc;


[SQL Insight]

출처 https://campus.datacamp.com/courses/improving-query-performance-in-sql-server/introduction-review-and-the-order-of-things?ex=8

필요악, 정렬 퀴리네요. Order by입니다.

(select 쿼리) order by 칼럼명 형태로 제공이 됩니다.

특정 칼럼을 기준으로 테이블을 정렬하겠다는 뜻입니다.

 

1) 오름차순 (asc)

order by 칼럼명 (asc)

 

asc는 오름차순을 의미하며 쓰지 않더라도 묵시적으로 asc로 정의됩니다.

여러분, 그래도 명시적 코딩을 습관화합시다. 편집증 환자는 아니지만, 이게 내가 쓴 코드에 대한 정보를 최대한 으로 주는 배려가 아닐까요. 명시적으로 쓴다고 속도가 더 느려지진 않거든요.

그리고 안써도 

 

2) 내림차순 desc

order by 칼럼명 desc

내림차순은 기본의 역순이므로 명시적 표현만 가능합니다.

 

내림차순이 뭔지 오름차순이 뭔지는 초등학교 수학 공부하셨다면 아시리라 믿고 두 번째 SQL 포스팅을 이만 마무리하겠습니다.

 

 

반응형
Comments