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

MySQL에서 ID 컬럼을 NULL 값으로 선택하는 방법

MySQL에서 실제 존재하지 않는 ID 컬럼을 조회 결과에 포함시키고 싶을 때가 있습니다. 이럴 때 NULL 값을 가상의 컬럼으로 선택하는 기법을 활용하면 됩니다. 이 글에서는 예제 테이블을 만들고, 데이터를 삽입한 뒤, ID 컬럼을 NULL로 선택하는 방법을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성합니다. 아래는 테이블을 만드는 CREATE TABLE 쿼리입니다.

mysql> create table selectAllDemo
   - > (
   - > Name varchar(100),
   - > Age int
   - > );
Query OK, 0 rows affected (1.90 sec)

2. 데이터 삽입하기

INSERT 명령어를 사용해 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into selectAllDemo values('John',25);
Query OK, 1 row affected (0.99 sec)
mysql> insert into selectAllDemo values('Carol',26);
Query OK, 1 row affected (0.42 sec)
mysql> insert into selectAllDemo values('Bob',30);
Query OK, 1 row affected (1.57 sec)
mysql> insert into selectAllDemo values('Sam',35);
Query OK, 1 row affected (0.26 sec)

3. 전체 레코드 조회하기

SELECT 문을 사용하여 테이블의 모든 레코드를 확인합니다.

mysql> select *from selectAllDemo;

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

+-------+------+
| Name  | Age  |
+-------+------+
| John  |   25 |
| Carol |   26 |
| Bob   |   30 |
| Sam   |   35 |
+-------+------+
4 rows in set (0.16 sec)

4. ID 컬럼을 NULL로 선택하기

이제 핵심 부분입니다. NULL AS Id 구문을 사용하면 실제 테이블에 존재하지 않는 Id 컬럼을 NULL 값으로 조회 결과에 추가할 수 있습니다. WHERE 절과 함께 사용하면 특정 조건에 맞는 행만 필터링할 수도 있습니다.

mysql> select NULL AS Id,tbl.Name,tbl.Age from selectAllDemo tbl where Age=35;

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

+------+------+------+
| Id   | Name | Age  |
+------+------+------+
| NULL | Sam  | 35   |
+------+------+------+
1 row in set (0.07 sec)

정리

SELECT NULL AS 컬럼명 구문은 테이블에 실제로 존재하지 않는 컬럼을 결과 집합에 추가하는 간단하고 유용한 방법입니다. 애플리케이션에서 조회 결과의 스키마를 통일해야 하거나, 나중에 값을 채워 넣을 플레이스홀더(placeholder) 컬럼이 필요한 경우에 특히 유용하게 활용할 수 있습니다.