>데이터 베이스 >SQL >SQL에서 사용할 때의 경우

SQL에서 사용할 때의 경우

DDD
DDD원래의
2023-07-17 15:37:366765검색

SQL에서 SQL 쿼리의 다양한 조건에 따라 다양한 작업을 수행하는 데 사용되는 경우입니다. 어떤 조건이든 판단하고, 조건의 결과에 따라 해당 작업을 수행할 수 있습니다. CASE WHEN 문의 작동 원리는 조건이 충족되면 해당 작업을 위에서 아래로 하나씩 판단하는 것입니다. 수행되며 조건을 만족하는 첫 번째 작업만 실행됩니다.

SQL에서 사용할 때의 경우

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

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