SQL

where 1=1 and A=xxx and B=xx ....여기서 where 1=1 의 의미?!

우혁이 아빠 2010. 7. 23. 14:03

1=1  은 True 를 나타냅니다.

따라서 아래와 같은 문장은 테이블의 전체 데이터를 가져오는 것이지요.

생략해도 같은 결과가 나옵니다.

 

SELECT * FROM 테이블명 WHERE 1=1

SELECT * FROM 테이블명

 

님께서 where 1=1 and A=xxx and B=xx .... 조건절을 주셨는데 1=1 은 생략 가능하므로

 where A=xxx and B=xx ....  요렇게 사용하셔도 무방합니다.

 

그래서 1=1 은 잘 사용하지 않고 1=2  등.. false 를 나태내는 조건절을 이용하여

기존테이블에서 빈 테이블을 생성하는데 사용하곤 합니다.

 

select * into 테이블2  from 테이블 where 1=2

 

=> 테이블 의 구조와 같고 데이터가 없는 테이블2 생성