> 데이터 베이스 > MySQL 튜토리얼 > SQL SELECT 문에서 조건부 논리를 어떻게 수행할 수 있습니까?

SQL SELECT 문에서 조건부 논리를 어떻게 수행할 수 있습니까?

Susan Sarandon
풀어 주다: 2025-01-22 15:16:10
원래의
792명이 탐색했습니다.

How Can I Perform Conditional Logic in SQL SELECT Statements?

SQL SELECT 문의 조건부 논리: 종합 가이드

SQL에서는 데이터를 수정하거나 필터링하기 위해 SELECT 문 내에 조건부 논리가 필요한 경우가 많습니다. CASE 문은 다양한 SQL 방언에서 지원되는 다목적 솔루션을 제공합니다.

IF...THEN 쿼리에서 SELECT 구조를 모방하려면 아래와 같이 CASE 문을 사용하세요.

<code class="language-sql">SELECT CAST(
    CASE
        WHEN condition1 OR condition2 THEN value_if_true
        ELSE value_if_false
    END AS data_type) AS new_column, *
FROM table_name;</code>
로그인 후 복사

다음은 구문 분석입니다.

  • condition1condition2: 평가할 조건
  • value_if_truevalue_if_false: 조건이 참인지 거짓인지에 따라 반환되는 값입니다.
  • data_type: new_column 결과의 데이터 유형입니다.
  • table_name: 데이터가 선택된 테이블입니다.

예를 들어, SaleableProduct 상태에 따라 제품 가용성을 나타내는 Obsolete 열을 InStock 테이블에 추가하려면:

<code class="language-sql">SELECT CAST(
    CASE
        WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1
        ELSE 0
    END AS bit) AS Saleable, *
FROM Product;</code>
로그인 후 복사

CAST을 생략한 단순화된 버전은 정수 결과를 생성합니다.

<code class="language-sql">SELECT CASE
    WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1
    ELSE 0
END AS Saleable, *
FROM Product;</code>
로그인 후 복사

CASE 문은 집계 함수에 중첩되거나 통합될 수 있습니다. 또한 SQL Server 2012에서는 간결한 대체 구문을 제공하는 IIF 문을 도입했습니다.

<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, *
FROM Product;</code>
로그인 후 복사

이는 SELECT 문 내의 조건부 논리를 단순화하여 데이터 조작에 유연성과 효율성을 제공합니다.

위 내용은 SQL SELECT 문에서 조건부 논리를 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿