union에서 order by 사용시 select 절에 없는 항목으로 정렬 방안이 있을까요? 0 2 1,008

by 정수리형 [SQL Query] [2022.04.14 15:19:39]


union을 사용하는 쿼리에서

order by 사용할때

select문에 없는 항목으로 정렬을 할수 없는데

제가 생각해도 말이 안되긴 하지만 이런 방식이 있을까요?

예로

select A from 테이블A where...

union

select A from 테이블B where...

order by A asc 라고 했을때

A는 select에는 사용하지만 데이터는 추출되지 않는 방식이 있을까요...?

말도안되는 질문을 올려죄송합니다.

실력이 부족하다보니 혹시라도 제가 모르는 방식이 있을까해서 올립니다.

 

 

 

 

by 마농 [2022.04.14 15:24:04]

UNION 확실히 맞나요?
UNION ALL 을 사용해야 하는데 UNION 을 쓴건 아닌지? 확인해 보세요.
UNION 과 UNION ALL 은 기능 및 성능에서 차이가 있습니다.
 

SELECT b, c
  FROM (SELECT a, b, c FROM a WHERE ...
         UNION ALL
        SELECT a, b, c FROM b WHERE ...
        )
 ORDER BY a
;

 


by pajama [2022.04.14 15:40:08]

랜덤 정렬으로도 되나요?

order by DBMS_RANDOM.RANDOM 이런식으로?

잘못 이해한 거라면 죄송합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입