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

MySQL WHERE 절에서 전체 표현식을 사용하는 방법

MySQL의 WHERE 절에는 단순한 컬럼 값뿐만 아니라 산술 연산이 포함된 전체 표현식(expression)도 사용할 수 있습니다. 즉, WHERE 조건 안에서 컬럼 값에 연산을 수행한 결과를 기준으로 데이터를 필터링할 수 있습니다.

예제를 통해 실제 동작 방식을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable1406
    -> (
    -> Value int
    -> );
Query OK, 0 rows affected (0.47 sec)

2. 레코드 삽입하기

INSERT 문을 사용해 테이블에 샘플 데이터를 입력합니다.

mysql> insert into DemoTable1406 values(10);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1406 values(50);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1406 values(40);
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable1406 values(30);
Query OK, 1 row affected (0.11 sec)

3. 전체 레코드 조회하기

SELECT 문으로 테이블에 저장된 모든 데이터를 확인합니다.

mysql> select * from DemoTable1406;

위 쿼리는 다음과 같은 결과를 출력합니다.

+-------+
| Value |
+-------+
|    10 |
|    50 |
|    40 |
|    30 |
+-------+
4 rows in set (0.00 sec)

4. WHERE 절에서 전체 표현식 사용하기

이제 WHERE 절에 Value+10=40이라는 전체 표현식을 적용해 보겠습니다. 이 조건은 Value 값에 10을 더한 결과가 40이 되는 행, 즉 Value가 30인 행만 반환합니다.

mysql> select Value+10 as ExpectedValue
    -> from DemoTable1406
    -> where Value+10=40;

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

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

결과 해석

테이블의 Value 값 중 30에 10을 더하면 40이 되므로, 해당 조건을 만족하는 유일한 행이 선택되었습니다. SELECT 절의 별칭(alias)인 ExpectedValue를 통해 연산된 결과(40)가 출력되는 것도 확인할 수 있습니다.

이처럼 MySQL에서는 WHERE 절 내에서 산술 연산을 포함한 전체 표현식을 자유롭게 사용할 수 있으며, 이를 활용하면 보다 유연하고 다양한 조건 검색이 가능합니다.