SQL에서 SQL 쿼리의 다양한 조건에 따라 다양한 작업을 수행하는 데 사용되는 경우입니다. 어떤 조건이든 판단하고, 조건의 결과에 따라 해당 작업을 수행할 수 있습니다. CASE WHEN 문의 작동 원리는 조건이 충족되면 해당 작업을 위에서 아래로 하나씩 판단하는 것입니다. 수행되며 조건을 만족하는 첫 번째 작업만 실행됩니다.
SQL의 CASE WHEN 문은 SQL 쿼리의 다양한 조건에 따라 다양한 작업을 수행하는 데 사용되는 조건식입니다. 모든 조건에 따라 판단하고 조건의 결과에 따라 해당 작업을 수행할 수 있습니다. SQL에서 CASE WHEN 문의 구문은 다음과 같습니다.
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result END
이 구문에서 조건1과 조건2는 조건식이며 모든 SQL 호환 조건이 될 수 있습니다. result1과 result2는 실행 결과이며 열 이름, 상수 값 또는 표현식이 될 수 있습니다. 최종 ELSE 결과는 선택 사항이며 조건이 충족되지 않는 다른 상황을 처리하는 데 사용됩니다.
CASE WHEN 문의 작동 원리는 조건을 위에서 아래로 하나씩 판단하는 것입니다. 조건이 충족되면 해당 작업이 실행되고, 조건을 만족하는 첫 번째 작업만 실행됩니다. 조건이 충족되지 않으면 ELSE 블록의 작업이 수행됩니다.
다음은 CASE WHEN 문의 몇 가지 예입니다.
1. 간단한 CASE WHEN 문:
SELECT customer_name, CASE WHEN gender = 'Male' THEN 'Mr.' WHEN gender = 'Female' THEN 'Ms.' ELSE 'Unknown' END AS salutation FROM customers;
위 쿼리는 성별 필드에 따라 다른 제목을 생성합니다. .', 성별이 여성인 경우 호칭은 'Ms.', 그렇지 않은 경우 '알 수 없음'입니다.
2. CASE WHEN 문과 집계 함수의 조합:
SELECT department_id, COUNT(*) AS employees_count, CASE WHEN COUNT(*) > 10 THEN 'Large' WHEN COUNT(*) > 5 THEN 'Medium' ELSE 'Small' END AS department_size FROM employees GROUP BY department_id;
위 쿼리는 각 부서의 직원 수를 기준으로 부서를 대, 중, 소의 세 가지 범주로 분류합니다.
3. WHERE 절에 CASE WHEN 문 적용:
SELECT order_id, order_date, CASE WHEN order_status = 'Shipped' THEN 1 ELSE 0 END AS shipped_flag FROM orders WHERE CASE WHEN order_status = 'Shipped' THEN 1 ELSE 0 END = 1;
위 쿼리는 배송된 주문만 반환하며 필터 조건은 CASE WHEN 문을 사용합니다.
Summary
CASE WHEN 문은 다양한 조건에 따라 다양한 작업을 수행할 수 있는 SQL의 매우 유용한 조건식입니다. 다양한 시나리오를 처리하는 유연한 방법을 제공하여 쿼리를 더욱 간결하고 직관적으로 만듭니다. 새 열을 생성하든, 통계를 계산하든, 데이터를 필터링하든 CASE WHEN 문은 사용자의 요구 사항을 충족하고 SQL 쿼리를 최적화하는 데 도움이 될 수 있습니다.
위 내용은 SQL에서 사용할 때의 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!