SQL

[MySQL]UNION ALL에서 테이블별로 다른 조건으로 정렬

옥수수빵 2021. 4. 2. 13:58
728x90
(SELECT `name`, `age`, `address` FROM #table1)
UNION ALL
(SELECT `name`, `age`, `address` FROM #table2)
ORDER BY `age`

보통 UNION ALL에서 정렬은 저렇게 통(?)으로 하는 편입니다.

각각의 테이블마다 정렬을 하려면 SELECT ~ FROM #table1 ORDER BY `age` 이렇게 하면 되지 않을까 하지만 안 됩니다.

SELECT `name`, `age`, `address` FROM
	(SELECT `name`, `age`, `address` FROM #table1 ORDER BY `age`) AS A
UNION ALL
SELECT `name`, `age`, `address` FROM
	(SELECT `name`, `age`, `address` FROM #table2 ORDER BY `name`) AS B

이렇게 하면 각각의 조건에 맞게 정렬이 됩니다.

반응형