Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 정적 문자열을 반환하는 방법 – UNION 활용법 완벽 정리

MySQL에서 테이블 조회 없이 정적(static) 문자열 값을 결과로 반환하고 싶다면 UNION을 활용하는 것이 가장 간단한 방법입니다. 여러 개의 SELECT 문을 UNION으로 연결하면, 각 문자열이 하나의 행(row)으로 출력됩니다.

기본 문법

정적 문자열을 반환하는 기본적인 문법은 다음과 같습니다.

select 'yourStringValue1' as yourAliasName
UNION
select 'yourStringValue2' as yourAliasName;

실제 사용 예제

위 문법을 실제 쿼리에 적용해 보겠습니다. 두 개의 문자열 'HELLO'와 'MySQL'을 반환하는 쿼리입니다.

mysql> select 'HELLO' as staticStringsResult
    -> UNION
    -> select 'MySQL' as staticStringsResult;

쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+---------------------+
| staticStringsResult |
+---------------------+
| HELLO               |
| MySQL               |
+---------------------+
2 rows in set (0.00 sec)

버전에 따른 주의 사항

일부 MySQL 버전에서는 위와 같은 방식의 쿼리가 정상적으로 동작하지 않을 수 있습니다. 이 경우 각 SELECT 문을 괄호( )로 감싸주면 문제를 해결할 수 있습니다.

mysql> (select 'HELLO' as staticStringsResult)
    -> UNION
    -> (select 'MySQL' as staticStringsResult);

괄호를 사용한 쿼리 역시 동일한 결과를 반환합니다.

+---------------------+
| staticStringsResult |
+---------------------+
| HELLO               |
| MySQL               |
+---------------------+
2 rows in set (0.00 sec)

추가 팁

UNION은 기본적으로 중복된 값을 제거합니다. 만약 중복된 문자열도 그대로 출력하고 싶다면 UNION ALL을 사용하는 것이 좋습니다. 또한 별칭(alias)은 첫 번째 SELECT 문의 것만 결과 열 이름으로 사용되므로, 의미 있는 별칭을 지정해 주는 것이 가독성 면에서 유리합니다.