কম্পিউটার টিউটোরিয়াল

MySQL에서 UNION ALL로 두 컬럼의 값을 하나의 컬럼으로 합쳐 조회하기

UNION ALL로 두 컬럼의 값을 위아래로 합쳐 단일 컬럼 결과 집합을 만들 수 있습니다. 중복 제거가 필요하면 UNION(기본 중복 제거)을 쓰세요.

테이블 생성 및 데이터 삽입

mysql> CREATE TABLE DemoTable1813 (
    -> Name1 VARCHAR(20),
    -> Name2 VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1813 VALUES('John','Chris');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1813 VALUES('Adam','Robert');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1813 VALUES('Mike','Sam');
Query OK, 1 row affected (0.00 sec)

데이터 조회

mysql> SELECT * FROM DemoTable1813;
+-------+--------+
| Name1 | Name2  |
+-------+--------+
| John  | Chris  |
| Adam  | Robert |
| Mike  | Sam    |
+-------+--------+
3 rows in set (0.00 sec)

두 컬럼 합쳐 단일 컬럼으로

mysql> SELECT Name1 AS Name FROM DemoTable1813
    -> UNION ALL
    -> SELECT Name2 AS Name FROM DemoTable1813;
+--------+
| Name   |
+--------+
| John   |
| Adam   |
| Mike   |
| Chris  |
| Robert |
| Sam    |
+--------+
6 rows in set (0.00 sec)

차이: UNION = 중복 제거 + 정렬(오버헤드 있음). UNION ALL = 중복 허용 + 순서 유지 + 빠름. 컬럼명/타입/개수가 양쪽 SELECT에서 일치해야 합니다. AS Name으로 결과 컬럼명 통일.

  1. MySQL-এ তিনটি কলাম থেকে আলাদা মান বের করে একই কলামে প্রদর্শন করা

  2. MySQL에서 CASE WHEN으로 동일 컬럼의 두 가지 다른 합계 구하기

  3. MySQL에서 NULL 포함 컬럼 두 개를 CONCAT으로 합칠 때 IFNULL로 안전하게 처리하기

  4. MySQL-এ SUBSTRING_INDEX() দিয়ে হাইফেন-বিভক্ত স্ট্রিং আলাদা কলামে বির্ভক্ত করা