MySQL CASE의 메커니즘 이해
MySQL의 CASE 문은 조건식으로 작동하여 지정된 기준에 따라 값을 동적으로 할당할 수 있습니다. 구문은 if 문과 비슷하지만 동작은 다릅니다.
CASE 문 작업
CASE 문의 일반적인 구문은 다음과 같습니다.
CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE
이러한 맥락에서 search_condition은 연관된statement_list가 실행되는지 여부를 결정하는 비교를 나타냅니다. statement_list에는 유효한 MySQL 표현식이 포함될 수 있습니다.
역할 순서 지정에 대한 사용 예
user_role 필드의 값에 따라 다른 숫자로 role_order 필드를 생성하려면 다음을 수행합니다. CASE 문은 다음과 같이 사용할 수 있습니다.
CASE user_role WHEN 'Manager' THEN 5 WHEN 'Part Time' THEN 7 ELSE -1 -- Unknown END
이 예에서 CASE 문은 스위치 문 역할을 합니다. user_role이 'Manager'와 같으면 role_order에 값 5를 할당합니다. 마찬가지로 user_role이 'Part Time'과 같으면 role_order에 값 7을 할당합니다. user_role이 지정된 조건과 일치하지 않는 경우 -1 값이 기본값으로 할당됩니다.
대체 구문
MySQL은 CASE 문에 대한 대체 구문을 제공합니다. 하나의 값만 검사할 때. 이 구문은 더 간결하며 다음과 같이 사용할 수 있습니다.
CASE WHEN user_role = 'Manager' THEN 4 WHEN user_name = 'Tom' THEN 27 WHEN columnA <> columnB THEN 99 ELSE -1 -- Unknown END
이 대체 형식에서는 비교되는 값(user_role)이 처음에 지정되고 그 뒤에 WHEN 조건이 옵니다.
CASE 문의 메커니즘과 스위치와 유사한 동작을 이해하면 이를 효과적으로 사용하여 MySQL 쿼리의 특정 기준에 따라 값을 할당할 수 있습니다.
위 내용은 MySQL의 CASE 문은 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!