728x90
반응형
"WHERE 1=1" 조건절은 항상 참인 조건을 나타낸다.
항상 참을 나타내는 조건을 왜 굳이 넣는걸까?
크게 2가지 이유가 있는 것 같다.
동적 쿼리
"WHERE 1=1"을 사용하면 동적 쿼리의 WHERE 절에 조건을 쉽게 추가하거나 제거할 수 있다. 또한 가독성과 유지보수에도 좋다.
예시)
DECLARE @DynamicSQL NVARCHAR(MAX) = N'
SELECT Column1, Column2
FROM MyTable
WHERE 1=1'
-- 동적으로 조건 추가
IF @Condition1 = 1
BEGIN
SET @DynamicSQL = @DynamicSQL + N' AND Column1 = @Value1'
END
IF @Condition2 = 1
BEGIN
SET @DynamicSQL = @DynamicSQL + N' AND Column2 = @Value2'
END
-- 동적 쿼리 실행
EXEC sp_executesql @DynamicSQL, N'@Value1 DataType1, @Value2 DataType2', @Value1, @Value2
주석처리 용이
아래 예시처럼, "WHERE 1=1"을 사용하면 다른 조건절을 주석처리할 때, 유용하다.
예시)
SELECT EmployeeName, Salary
FROM Employee
WHERE 1=1
AND Salary >= 50000
AND Department = 'Sales'
-- 주석 처리
-- AND StartDate >= '2023-01-01';
728x90
반응형
'Skills > MsSQL' 카테고리의 다른 글
MSSQL 데이터베이스, 테이블, 컬럼, 제약조건 정보 조회 (0) | 2023.09.18 |
---|---|
동적 쿼리 사용 이유, 예시, 장단점, 플랜캐시, 주의점 (1) | 2023.09.06 |
SQL Server 테이블, 프로시저 조회 (0) | 2023.09.06 |
인덱스를 타지 않는 10가지 CASE와 예제 (0) | 2023.09.05 |
LIKE, CONTAINS 차이점 및 성능 비교 (0) | 2023.09.05 |