[ sql ] ORDER BY 구

이유진·2022년 4월 10일
0

여러 테이블을 조인한 테이블에서 select구에서
다른 컬럼들과 order(순서를 의미리하는 컬럼) 컬럼을 가져왔을때,
order by를 사용하지 않았는지에 대한 물음을 받은 적이 있어서
다시 ORDER BY를 정리해보려고 한다.


내가 잘못 알고 있었던 점과 고려하지 못한 점
1. order by로 정렬하지 않으면, defualt로 오름차순으로 정렬되는줄로 알고 있었다.
2. 소량의 몫 데이터로만 조회 및 update나 delete로 데이터를 변경한 경우가 없는 상태에서만 데이터를 조회 한 것.


구글링 한 결과,
order by로 정렬하지 않은경우,
1. 인덱스의 영향을 받는다면, 인덱스의 ASC or DESC 로 정렬된다.
2. 인덱스의 영향을 받지 않는 다면, 입력된 순서로 정렬된다.
것과
3. 기본적인 순서는 인덱스와 사용되는 순서에 따라 다르기 때문에, insert문이나 primary key 순서에 의존하지 말고, 정렬이 필요할 경우엔 order by절을 사용해야 한다.
는 정보를 알게되었고,


오늘 sql책으로 다시 공부하면서 알게된 내용은 아래와 같다.
데이터 정렬 하지 않을 경우, 테이블에 있는 순서대로 출력된다.
--> 여기서 말하는 테이블에 있는 순서란? : 데이터가 테이블에 삽입되는 순서
즉, 데이터가 update나 delete 사용함에 따라, 데이터의 순서가 바뀔수가 있다.

결론적으로, 정렬을 명시하지 않는다면, 정렬 순서를 예상하면 안된다.

SQL in 10 Minutes 참고

profile
차근차근 배워나가는 주니어 개발자

0개의 댓글