MySQL CASE 문은 PHP if 문에 비해 더 빠릅니다. PHP if 문은 데이터를 로드하고 CASE 문은 그렇지 않은 동안 처리하기 때문에 시간이 너무 많이 걸립니다.
먼저 테이블을 만들고 MySQL CASE 문의 예를 살펴보겠습니다. −
mysql> create table DemoTable (Value int); Query OK, 0 rows affected (0.70 sec)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable values(500); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values(1000); Query OK, 1 row affected (0.13 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select *from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+-------+ | Value | +-------+ | 100 | | 500 | | 1000 | +-------+ 3 rows in set (0.00 sec)
다음은 MySQL CASE 문에 대한 쿼리입니다 -
mysql> select Value, case when Value > 500 THEN "It is greater than or equal to 1000" else "It is lower than 1000" end as comparison from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+-------+-------------------------------------+ | Value | comparison | +-------+-------------------------------------+ | 100 | It is lower than 1000 | | 500 | It is lower than 1000 | | 1000 | It is greater than or equal to 1000 | +-------+-------------------------------------+ 3 rows in set (0.00 sec)