SQL CASE 문

그만큼 CASE 성명서 SQL 다음을 통합할 수 있는 다목적 조건식입니다. 조건부 논리 우리의 쿼리 내에서 직접. 이를 통해 동적 쿼리 출력을 활성화하는 특정 조건을 기반으로 특정 결과를 반환할 수 있습니다. 당신이 필요 여부 새 열 만들기 기존 항목을 수정하거나 쿼리 결과를 사용자 정의하세요. CASE문 다 처리할 수 있어요.

이 글에서 우리는 다음과 같은 내용을 배울 것입니다. SQL CASE문 이 기능을 활용하여 SQL 쿼리를 개선하는 방법을 보여주는 명확한 예와 사용 사례를 자세히 설명합니다.

SQL의 CASE 문

  • 그만큼 CASE 성명서 SQL 쿼리 내에서 조건부 논리를 수행할 수 있는 조건식입니다.
  • 조건부 논리를 기반으로 새 열을 생성하고 특정 조건에 따라 사용자 지정 값을 제공하거나 쿼리 출력을 제어하는 ​​데 일반적으로 사용됩니다.
  • 어떤 조건도 참이 아니면, 또 다른 부분이 실행됩니다. ELSE 부분이 없으면 반환됩니다. NULL.

통사론:

SQL에서 CASE 문을 사용하려면 다음 구문을 사용하십시오.

CASE 케이스_값
WHEN 조건 THEN 결과1
WHEN 조건 THEN 결과2
...
그렇지 않으면 결과
최종 사례;

SQL CASE 문의 예

더 잘 이해하기 위해 SQL의 CASE 문의 몇 가지 예를 살펴보겠습니다.

예제에 사용될 데모 SQL 테이블을 만들어 보겠습니다.

데모 SQL 데이터베이스

우리는 SQL CASE 문에 대한 예제로 이 샘플 SQL 테이블을 사용할 것입니다.

고객ID 고객 이름 국가 나이 핸드폰
1 의심 타쿠르 인도 23 xxxxxxxxx
2 안전한 초프라 호주 21 xxxxxxxxx
3 나빈 툴라시 스리랑카 24 xxxxxxxxx
4 아디트야 아르판 오스트리아 21 xxxxxxxxx
5 니샨트. 살치차스 S.A. 자이나교 스페인 22 xxxxxxxxx

다음 MySQL 쿼리를 작성하여 시스템에 동일한 데이터베이스를 생성할 수 있습니다.

 CREATE TABLE Customer( CustomerID INT PRIMARY KEY CustomerName VARCHAR(50) LastName VARCHAR(50) Country VARCHAR(50) Age int(2) Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID CustomerName LastName Country Age Phone) VALUES (1 'Shubham' 'Thakur' 'India''23''xxxxxxxxxx') (2 'Aman ' 'Chopra' 'Australia''21''xxxxxxxxxx') (3 'Naveen' 'Tulasi' 'Sri lanka''24''xxxxxxxxxx') (4 'Aditya' 'Arpan' 'Austria''21''xxxxxxxxxx') (5 'Nishant. Salchichas S.A.' 'Jain' 'Spain''22''xxxxxxxxxx');   

예 1: 간단한 CASE 표현식

이 예에서는 CASE 문을 사용합니다.

질문:

 SELECT CustomerName Age CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;  

산출:

고객 이름 나이 국적
의심 23 옥수수
안전한 21 외국의
나빈 24 외국의
아디트야 21 외국의
니샨트. 살치차스 S.A. 22 외국의

예 2: 조건이 여러 개인 경우 SQL CASE

CASE 문에 여러 조건을 사용하여 여러 조건을 추가할 수 있습니다. 언제 조항.

질문:

 SELECT CustomerName Age CASE WHEN Age> 22 THEN 'The Age is greater than 22' WHEN Age = 21 THEN 'The Age is 21' ELSE 'The Age is over 30' END AS QuantityText FROM Customer;  

산출:

고객 이름 나이 수량텍스트
의심 23 나이가 22세 이상입니다.
안전한 21 나이는 21세
나빈 24 나이가 22세 이상입니다.
아디트야 21 나이는 21세
니샨트. 살치차스 S.A. 22 나이는 30세 이상입니다.

예 3: ORDER BY 절이 있는 CASE 문

CustomerID CustomerName LastName 국가 나이 및 전화번호가 포함된 고객 테이블을 살펴보겠습니다. 다음을 사용하여 Customer 테이블의 데이터를 확인할 수 있습니다. 주문 방법 CASE 문이 있는 절입니다.

질문:

 SELECT CustomerName Country FROM Customer ORDER BY (CASE WHEN Country IS 'India' THEN Country ELSE Age END);  

산출:

고객 이름 국가
안전한 호주
아디트야 오스트리아
니샨트. 살치차스 S.A. 스페인
나빈 스리랑카
의심 인도

CASE 문에 대한 중요 사항

  • SQL CASE 문은 지정된 조건에 따라 다양한 쿼리를 실행할 수 있는 조건식입니다.
  • 항상 선택하다 CASE 문에서.
  • END ELSE는 선택적인 구성 요소이지만 언제 이러한 경우는 CASE 문에 포함되어야 합니다.
  • 조건 연산자(예: 어디 ) WHEN과 THEN 사이에 있습니다. 여기에는 다음을 사용하여 여러 조건문을 함께 묶는 것이 포함됩니다. 그리고 그리고 또는.
  • 해결되지 않은 조건에 대응하기 위해 여러 WHEN 문과 ELSE 문을 포함할 수 있습니다.

결론

그만큼 CASE 문은 SQL 쿼리에 조건부 논리를 통합하기 위한 강력한 메커니즘을 제공합니다. 이 문을 사용하면 다양한 조건을 처리하고 쿼리 출력을 효과적으로 사용자 정의할 수 있습니다. 구현 방법 이해 CASE 표현식을 사용하면 더욱 정교한 데이터 조작 및 보고를 수행하여 SQL 쿼리를 더욱 동적으로 만들고 다양한 시나리오에 대응할 수 있습니다.

퀴즈 만들기