본문 바로가기

IT/DB

데이터베이스 SQL 조건절 where 1=1 뜻

300x250

 

 

 

 

SQL에서 WHERE 1=1은 항상 참(True)인 조건을 의미합니다.

 

이 구문은 실제로는 아무런 필터링을 하지 않으며, 조건 없이 모든 행을 반환하게 됩니다.

 

# 왜 WHERE 1=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