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

MySQL SELECT 문과 CASE WHEN으로 홀수·짝수 ID 구분하기

MySQL에서 CASE WHEN 구문과 SELECT 문을 함께 사용하면 ID 값이 홀수인지 짝수인지 손쉽게 판별할 수 있습니다. 핵심 원리는 나머지 연산자(%)를 활용하는 것으로, 값을 2로 나눈 나머지가 0이 아니면 홀수, 0이면 짝수로 분류하는 방식입니다.

1. 테이블 생성

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

mysql> create table DemoTable
(
    PageId int
);
Query OK, 0 rows affected (0.85 sec)

2. 데이터 삽입

insert 명령어를 사용하여 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable values(233);
Query OK, 1 row affected (0.36 sec)
mysql> insert into DemoTable values(34);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(76);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(89);
Query OK, 1 row affected (0.26 sec)

3. 전체 데이터 조회

select 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

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

+--------+
| PageId |
+--------+
|    233 |
|     34 |
|     76 |
|     89 |
+--------+
4 rows in set (0.00 sec)

4. CASE WHEN으로 홀수·짝수 판별하기

다음은 SELECT 문과 함께 CASE WHEN을 사용한 쿼리입니다. PageId를 2로 나눈 나머지(% 연산)가 0이 아니면 'PageId is odd'(홀수), 그렇지 않으면 'PageId is even'(짝수)으로 표시하도록 작성했습니다.

mysql> select PageId, case when PageId %2 !=0 then 'PageId is odd' else 'PageId is even' end AS Result from DemoTable;

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

+--------+----------------+
| PageId | Result         |
+--------+----------------+
|    233 |  PageId is odd |
|     34 |  PageId is even|
|     76 |  PageId is even|
|     89 |  PageId is odd |
+--------+----------------+
4 rows in set (0.00 sec)

위 결과에서 볼 수 있듯이, 233과 89는 홀수로, 34와 76은 짝수로 정상적으로 분류되었습니다. 이처럼 CASE WHEN은 조건에 따라 서로 다른 값을 반환해야 할 때 매우 유용하게 활용되며, 나머지 연산자(%)와 조합하면 홀수·짝수 판별 외에도 다양한 조건 분기 로직을 손쉽게 구현할 수 있습니다.