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

MySQL에서 빈 결과 집합(Empty Result Set)을 조회하는 방법

MySQL에서 빈 결과 집합을 선택하는 방법

MySQL에서는 더미 테이블인 dual을 활용하면 손쉽게 빈 결과 집합을 조회할 수 있습니다. dual 테이블은 실제 데이터를 저장하지 않고, 간단한 SELECT 문을 테스트하거나 조건식의 결과를 확인할 때 유용하게 사용되는 특수한 가상 테이블입니다.

조건이 FALSE일 때: 빈 결과 집합 반환

WHERE 절에 거짓(false)인 조건을 지정하면 어떠한 행도 반환되지 않습니다. 아래 쿼리를 살펴보겠습니다.

mysql> select 1 from dual where false;
Empty set (0.00 sec)

위 쿼리에서 'dual'은 더미 테이블이며, WHERE 절의 조건이 false이기 때문에 조건을 만족하는 행이 하나도 없습니다. 따라서 결과로 Empty set, 즉 빈 결과 집합이 반환됩니다.

조건이 TRUE일 때: 값 정상 반환

반대로 WHERE 절에 참(true)인 조건을 지정하면 선택한 값이 정상적으로 반환됩니다. 다음 쿼리를 실행해 보겠습니다.

mysql> select 1 from dual where true;

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

+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

정리

이처럼 dual 테이블과 WHERE 절의 조건 값을 조합하면, 의도적으로 빈 결과 집합을 만들거나 조건식의 평가 결과를 간단히 검증할 수 있습니다. 이 기법은 쿼리 동작을 테스트하거나, 저장 프로시저에서 조건에 따라 결과 없음 상태를 명시적으로 처리해야 할 때 실무적으로도 유용하게 활용됩니다.