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

MySQL에서 SELECT와 SHOW 명령 결과를 하나로 결합하는 방법

MySQL에서 SELECT 및 SHOW 명령 결과 결합하기

MySQL에서는 사용자 정의 변수를 활용하면 SELECT 문과 SHOW 명령의 결과를 하나의 결과 집합으로 손쉽게 결합할 수 있습니다. 기본적인 쿼리 형식은 다음과 같습니다.

SELECT @변수명1 AS 별칭1, @변수명2 AS 별칭2, ...N;

1단계: 첫 번째 변수 생성 및 초기화

먼저 SET 명령을 사용하여 첫 번째 변수를 선언하고 값을 할당합니다.

mysql> SET @first_name='John';
Query OK, 0 rows affected (0.00 sec)

2단계: 두 번째 변수 생성 및 초기화

이어서 두 번째 변수도 동일한 방식으로 생성합니다.

mysql> SET @last_name='Smith';
Query OK, 0 rows affected (0.00 sec)

3단계: 변수들을 하나의 SELECT 문으로 결합

이제 두 변수를 하나의 SELECT 문에 넣고 각각 별칭(Alias)을 지정하면, 마치 SHOW 명령처럼 여러 값을 한 번에 조회할 수 있습니다.

mysql> SELECT @first_name AS EmployeeFirstName, @last_name AS EmployeeLastName;

실행 결과는 다음과 같습니다.

+-------------------+------------------+
| EmployeeFirstName | EmployeeLastName |
+-------------------+------------------+
| John | Smith |
+-------------------+------------------+
1 row in set (0.00 sec)

시스템 전역 변수(@@) 결합하기

사용자 정의 변수뿐만 아니라 시스템 전역 변수(System Global Variables)도 같은 방식으로 결합할 수 있습니다. 이 경우에는 일반 변수에 사용하는 단일 @ 대신 이중 @@ 기호를 사용해야 합니다.

예를 들어, 현재 MySQL 버전과 포트 번호를 하나의 결과로 함께 조회하려면 다음과 같이 작성합니다.

mysql> SELECT @@version AS CURRENT_MYSQL_VERSION,
@@port AS CURRENT_MYSQL_PORT_NUMBER;

실행 결과는 다음과 같습니다.

+-----------------------+---------------------------+
| CURRENT_MYSQL_VERSION | CURRENT_MYSQL_PORT_NUMBER |
+-----------------------+---------------------------+
| 8.0.21 | 3306 |
+-----------------------+---------------------------+
1 row in set (0.00 sec)

정리

이처럼 SET 명령으로 변수에 값을 저장한 뒤 SELECT 문에서 별칭과 함께 호출하면, 여러 개의 개별 명령 결과를 테이블 형태의 단일 결과 집합으로 깔끔하게 출력할 수 있습니다. 사용자 변수는 @, 시스템 전역 변수는 @@를 사용한다는 점만 기억하면 됩니다.