설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


Powered by EnterpriseDB
총 게시물 89건, 최근 0 건
 

union 소팅 보장

글쓴이 : PostgresDBA 날짜 : 2019-07-03 (수) 15:38 조회 : 212
오라클에서는 union 시에 내부적으로 sort 가 수행되어서 결과값이 정렬이 되어 나옵니다.

하지만 postgresql , mysql 등은 union 이라 하더라도 오라클과 달리 결과가 정렬이 보장안됩니다.
주의하세요.

여긴, postgresql 싸이트지만 mysql 를 예로 들어볼게요.

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.20-19 |
+-----------+
1 row in set (0.01 sec)

mysql>  select 2 as result from dual union select 1 from dual;
+--------+
| result |
+--------+
|      2 |
|      1 |
+--------+
2 rows in set (0.00 sec)

mysql> 

물론 오라클에서도 정렬을 원한다면,
order by 를 명시적으로 붙여주는게  옳바른 쿼리 작성법입니다.

결론: 디비종류에 상관없이 정렬된 결과를 보장받고 싶으면 order by 를 명시적으로 붙이세요!

 

postgresdba.com