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>
다음은 구문 분석입니다.
condition1
및 condition2
: 평가할 조건value_if_true
및 value_if_false
: 조건이 참인지 거짓인지에 따라 반환되는 값입니다.data_type
: new_column
결과의 데이터 유형입니다.table_name
: 데이터가 선택된 테이블입니다.예를 들어, Saleable
및 Product
상태에 따라 제품 가용성을 나타내는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!