우리는 정렬을 배우기 전까지는 ORDER BY를 사용하지 않았다.
SQL에서 이를 지정하지 않는다고 해서 입력한 순서대로 데이터가 나오지 않기 때문이다.
이때에는 SQL이 순서를 무시하고 서버 상황에 따라 데이터가 뒤죽박죽으로 들어오게 된다.
그렇다면 만약 ORDER BY 조건이 여러개라면 어떻게 동작할까?
SELECT * FROM TABLE명 ORDER BY COLUMN1 [ASC|DESC], COLUMN2 [ASC|DESC]...
ORDER BY 뒤에는 여러 column을 정렬로 사용할 수 있다.
가장 먼저 온 column으로 우선적으로 정렬되며, 이후 오는 column으로 차후 정렬된다.
sql에 해당 규격은 나와있지 않다.
그렇기 때문에 각 DBMS 마다 다르게 결과가 나온다.
MySQL, SQLite의 경우 NULL은 가장 작은 값으로 취급된다.
하지만 예외로 PostgreSQL, Oracle은 가장 큰 값으로 취급한다.