집 >데이터 베이스 >MySQL 튜토리얼 >SQL SELECT 문에서 조건부 논리를 구현하는 방법은 무엇입니까?
SQL SELECT 문 내의 조건부 논리
SQL의 SELECT
문은 IF...THEN
구문을 직접 지원하지 않습니다. 그러나 조건부 논리를 구현하기 위한 두 가지 효과적인 대안이 있습니다: CASE
문과 IIF
함수(특정 SQL 방언에서 사용 가능).
CASE 문 활용
CASE
문은 다른 프로그래밍 언어의 IF...THEN
기능을 반영합니다. 조건을 순차적으로 평가하고 충족된 첫 번째 조건에 따라 값을 반환합니다.
구문:
<code class="language-sql">SELECT CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END AS new_column_name, other_columns FROM your_table;</code>
예:
<code class="language-sql">SELECT CASE WHEN IsActive = 'Yes' THEN 'Active' WHEN IsActive = 'No' THEN 'Inactive' ELSE 'Unknown' END AS Status, * FROM Users;</code>
이 쿼리는 IsActive
열 값에 따라 '활성', '비활성' 또는 '알 수 없음'을 지정하는 "상태" 열을 추가합니다.
IIF 기능 활용(SQL Server)
IIF
함수(SQL Server 2012에 도입됨)는 SELECT
문 내에서 조건부 논리를 처리하는 간결한 방법을 제공합니다.
구문:
<code class="language-sql">IIF(condition, true_result, false_result)</code>
예:
<code class="language-sql">SELECT IIF(OrderTotal > 100, 'High Value', 'Low Value') AS OrderCategory, * FROM Orders;</code>
이 예에서는 OrderTotal
에 따라 주문을 '높은 값' 또는 '낮은 값'으로 분류하는 "OrderCategory" 열을 만듭니다. IIF
은 SQL Server에만 해당되며 다른 데이터베이스 시스템에서는 사용하지 못할 수도 있습니다. 더 넓은 호환성을 위해 CASE
문이 일반적으로 선호됩니다.
위 내용은 SQL SELECT 문에서 조건부 논리를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!