>  기사  >  데이터 베이스  >  다중 조건 판단을 수행하기 위해 MySQL의 CASE 기능을 사용하는 방법

다중 조건 판단을 수행하기 위해 MySQL의 CASE 기능을 사용하는 방법

WBOY
WBOY원래의
2023-07-12 23:52:352721검색

MySQL에서 CASE 함수를 사용하여 다중 조건 판단을 수행하는 방법

MySQL 데이터베이스에서 CASE 함수는 쿼리 문에서 다중 조건 판단을 수행할 수 있는 매우 강력한 도구입니다. 이를 통해 복잡한 비즈니스 요구 사항을 충족하기 위해 다양한 조건에 따라 다양한 결과를 반환할 수 있습니다. 이 기사에서는 MySQL의 CASE 기능을 사용하여 다중 조건 판단을 수행하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다.

CASE 함수의 구문 구조는 다음과 같습니다.

CASE
   WHEN condition1 THEN result1
   WHEN condition2 THEN result2
   WHEN condition3 THEN result3
   ...
   ELSE result
END

이 구문 구조에서는 조건에 따라 다른 결과(result)를 반환할 수 있습니다. 모든 조건이 충족되지 않으면 ELSE 키워드를 사용하여 기본 결과를 지정할 수 있습니다.

이제 학생의 이름, 나이, 학년을 저장하는 학생이라는 테이블이 있다고 가정해 보겠습니다. 학생의 성적에 따라 분류하고, 나이에 따라 청소년인지 여부를 판단해야 합니다. 다음은 다중 조건 판단을 위해 CASE 함수를 사용한 샘플 코드입니다.

SELECT 
   name,
   age,
   grade,
   CASE
      WHEN grade >= 90 THEN '优秀'
      WHEN grade >= 80 THEN '良好'
      WHEN grade >= 70 THEN '中等'
      ELSE '不及格'
   END AS level,
   CASE
      WHEN age >= 12 AND age <= 18 THEN '青少年'
      ELSE '成年人'
   END AS category
FROM students;

위 코드에서는 두 가지 CASE 함수를 사용하여 학생의 성적과 나이를 판단하고 각각 다른 결과를 반환합니다. 점수에 따라 등급이 나누어지며, 점수가 90점 이상이면 우수, 80점 이상이면 우수입니다. 70점이면 평균이고, 그렇지 않으면 불합격입니다. 분류는 연령을 기준으로 합니다. 연령이 12세에서 18세 사이이면 청소년이고, 그렇지 않으면 성인입니다.

CASE 함수는 기본 조건 판단 외에도 논리 연산자를 사용하여 여러 조건을 결합할 수도 있습니다. 학생의 성적과 출석을 각각 판단하고, 판단 결과에 따라 서로 다른 보상을 주어야 한다고 가정해 보겠습니다. 코드 예시는 다음과 같습니다.

SELECT 
   name,
   attendance,
   grade,
   CASE
      WHEN grade >= 90 AND attendance = '100%' THEN '获奖'
      WHEN grade >= 80 OR attendance = '100%' THEN '鼓励'
      ELSE '加油'
   END AS reward
FROM students;

위 코드에서는 두 가지 조건부 판단을 사용하여 성적과 출석에 따라 서로 다른 보상을 제공합니다. 출석 보상. 점수가 90점 이상이고 출석률이 100%이면 보상을 받게 되며, 그 외의 경우에는 점수가 80점 이상이거나 출석률이 100%이면 격려를 받게 됩니다. 건배.

위의 코드 예시를 통해 MySQL에서 CASE 함수를 사용하여 다중 조건 판단을 수행하는 방법을 배웠습니다. CASE 함수는 복잡한 조건부 판단 로직을 단순화할 뿐만 아니라 유연한 구문 구조를 제공하여 조건에 따라 다른 결과를 반환할 수 있습니다. 실제 개발에서는 특정 비즈니스 요구에 따라 CASE 기능을 유연하게 사용하여 데이터베이스 운영을 보다 효율적이고 편리하게 만들 수 있습니다.

위 내용은 다중 조건 판단을 수행하기 위해 MySQL의 CASE 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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