>  기사  >  데이터 베이스  >  MySQL의 CASE 문은 어떻게 작동하나요?

MySQL의 CASE 문은 어떻게 작동하나요?

Barbara Streisand
Barbara Streisand원래의
2024-11-05 07:59:02171검색

How Does MySQL's CASE Statement Work?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.