집 >데이터 베이스 >MySQL 튜토리얼 >CASE 및 IIF를 사용하여 SQL SELECT 문에서 조건부 논리를 어떻게 구현할 수 있습니까?
SQL SELECT 문의 조건부 논리 익히기: CASE 및 IIF
SQL SELECT
문 내에서 조건부 논리를 효율적으로 관리하는 것은 데이터 조작 및 필터링에 매우 중요합니다. 표준 SQL에서는 직접 IF...THEN
구문을 사용할 수 없지만 CASE
문과 IIF
(SQL Server Denali 이상 버전)은 강력한 대안을 제공합니다.
CASE 문: SQL 조건부 주력
CASE
문은 IF...THEN
의 기능을 반영하여 조건을 순차적으로 평가하고 첫 번째 참 조건을 기반으로 값을 반환합니다. 구조는 다음과 같습니다.
<code class="language-sql">SELECT CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END AS <alias>, -- Assign an alias to the result * FROM <table_name></code>
이러한 실제 적용을 고려해보세요.
<code class="language-sql">SELECT CAST( CASE WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1 ELSE 0 END AS bit) AS Saleable, -- Casts the result as a BIT (Boolean) * FROM Product</code>
CAST
연산자에 주목하세요. 이것이 없으면 결과는 정수(0 또는 1)입니다. CAST
을 사용하면 부울(TRUE 또는 FALSE)로 변환됩니다.
IIF: 간결한 조건부 옵션(SQL Server)
SQL Server는 IIF
:CASE
에 대한 보다 간결한 대안을 제공하는
<code class="language-sql">SELECT IIF(condition, true_value, false_value) AS <alias>, * FROM <table_name></code>
이 예에 적용되는 방법은 다음과 같습니다.
<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, * FROM Product</code>
CASE
과 IIF
는 모두 SQL SELECT
쿼리에서 조건부 논리를 구현하고 동적 데이터 조작과 효율적인 필터링을 지원하는 데 없어서는 안 될 도구입니다.
위 내용은 CASE 및 IIF를 사용하여 SQL SELECT 문에서 조건부 논리를 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!