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

MySQL에서 SELECT TRUE의 의미와 사용법 완벽 정리

MySQL SELECT TRUE란 무엇인가?

MySQL에서 SELECT TRUE 문은 조건에 일치하는 행(row)이 존재할 때마다 1을 반환합니다. 즉, TRUE는 MySQL 내부적으로 1로 처리되는 불리언(Boolean) 상수이며, 조회된 각 행에 대해 항상 1이라는 값을 출력하게 됩니다.

실제 예제를 통해 동작 방식을 자세히 살펴보겠습니다.

1. 테스트용 테이블 생성하기

먼저 아래와 같이 간단한 테이블을 생성합니다.

mysql> create table DemoTable(Name varchar(100));
Query OK, 0 rows affected (0.54 sec)

2. 샘플 데이터 삽입하기

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

mysql> insert into DemoTable values('Chris');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Robert');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('David');
Query OK, 1 row affected (0.12 sec)

3. 전체 레코드 조회하기

SELECT 문으로 테이블의 모든 레코드를 확인해 보겠습니다.

mysql> select *from DemoTable;

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

+--------+
| Name   |
+--------+
| Chris  |
| Robert |
| David  |
+--------+
3 rows in set (0.00 sec)

4. SELECT TRUE 실행 결과 확인하기

이제 SELECT TRUE 쿼리를 실행해 보겠습니다.

mysql> select true from DemoTable;

결과는 다음과 같습니다.

+------+
| TRUE |
+------+
| 1    |
| 1    |
| 1    |
+------+
3 rows in set (0.00 sec)

SELECT TRUE 활용 포인트

위 결과에서 알 수 있듯이, 테이블에 저장된 행의 수만큼 TRUE가 각각 1로 반환됩니다. 이는 MySQL에서 TRUE가 숫자 리터럴 1과 동일하게 취급되기 때문입니다. 반대로 FALSE는 0으로 처리됩니다.

이러한 특성은 EXISTS 서브쿼리나 조건 검증 로직에서 유용하게 활용될 수 있습니다. 예를 들어 특정 조건을 만족하는 행의 존재 여부만 빠르게 확인하고 싶을 때 SELECT TRUE 패턴을 응용하면 가독성 좋은 쿼리를 작성할 수 있습니다.