복수의 열을 정렬하기

1404 단어 sqlsql

ORDER BY를 생략하면 결과는 일정하지 않다.

우리는 정렬을 배우기 전까지는 ORDER BY를 사용하지 않았다.
SQL에서 이를 지정하지 않는다고 해서 입력한 순서대로 데이터가 나오지 않기 때문이다.
이때에는 SQL이 순서를 무시하고 서버 상황에 따라 데이터가 뒤죽박죽으로 들어오게 된다.
그렇다면 만약 ORDER BY 조건이 여러개라면 어떻게 동작할까?

여러 COLUMN을 ORDER BY에 넣어보자

SELECT * FROM TABLEORDER BY COLUMN1 [ASC|DESC], COLUMN2 [ASC|DESC]...

ORDER BY 뒤에는 여러 column을 정렬로 사용할 수 있다.
가장 먼저 온 column으로 우선적으로 정렬되며, 이후 오는 column으로 차후 정렬된다.

NULL은 어떻게 취급되는가?

sql에 해당 규격은 나와있지 않다.
그렇기 때문에 각 DBMS 마다 다르게 결과가 나온다.
MySQL, SQLite의 경우 NULL은 가장 작은 값으로 취급된다.
하지만 예외로 PostgreSQL, Oracle은 가장 큰 값으로 취급한다.

좋은 웹페이지 즐겨찾기