300x250
SQL에서 WHERE 1=1은 항상 참(True)인 조건을 의미합니다.
이 구문은 실제로는 아무런 필터링을 하지 않으며, 조건 없이 모든 행을 반환하게 됩니다.
# 왜 WHERE 1=1을 사용하는지:
- 동적 쿼리 작성: WHERE 1=1은 주로 동적 쿼리를 작성할 때 사용됩니다.
동적 쿼리는 조건이 추가될 수 있는 상황에서 유용합니다.
예를 들어, 사용자가 입력한 필터 조건에 따라 쿼리에 여러 WHERE 절을 추가해야 할 경우,
WHERE 1=1을 미리 넣어두면 뒤에 AND로 조건을 추가할 때 일관되게 작성할 수 있습니다.
사용자가 이름이나 나이에 따라 검색할 수 있는 동적 쿼리를 작성할 때:이후 동적으로 조건을 추가:이렇게 하면 첫 번째 조건이 있든 없든, 쿼리를 일관되게 구성할 수 있습니다.
만약 WHERE 1=1 없이 시작했다면, 첫 번째 WHERE 조건 앞에 AND가 있어서는 안 되지만, 동적으로 조건을 추가할 때는 그 처리가 더 복잡해질 수 있습니다.
SELECT *
FROM employees
WHERE 1=1 -- 기본적으로 참인 조건
AND name = 'John' -- 이름으로 필터링 (사용자가 입력한 조건)
AND age = 30; -- 나이로 필터링 (사용자가 입력한 조건)
2. 조건이 없는 기본 쿼리: WHERE 1=1을 사용하면 특정 필터 조건이 없더라도 기본적으로 조건이 없는 결과를 반환하는 쿼리를 만들 수 있습니다.
3. 간편한 조건 추가 및 제거: 동적 조건을 추가할 때 WHERE 1=1을 사용하면 첫 번째 조건에 대한 특별 처리가 필요 없으므로 코드가 더 간결해지고 유지 관리가 쉬워집니다.
300x250
'IT > DB' 카테고리의 다른 글
SET GLOBAL WAIT_TIMEOUT 시간 설정 (0) | 2024.11.07 |
---|---|
데이터베이스 SQL decode 함수 쓰는 방법 (3) | 2024.11.06 |
데이터베이스 SQL 서브쿼리 EXIST 함수 사용 (1) | 2024.11.03 |
select 1 from 테이블 쿼리 사용하는 방법 (0) | 2024.11.02 |
데이터베이스 쿼리 범위 조회 LIMIT절 (feat.Cubrid 큐브리드) (0) | 2024.11.02 |