메뉴 건너뛰기

조회 수 9619 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

프로젝트를 진행할 때 SQL 쿼리를 작성하다보면 'WHERE 1 = 1' 이라는 것을 자주 보게 됩니다. 사실, 의미없이 'WHERE 1 = 1'이라는 구문을 사용하시는 분들이 있어서 깔끔한 걸 추구하는 저로서는 가끔 1 = 1 이라는 부분을 지워버리는데요. 이것을 잘 사용하면 조건절(WHERE)을 편리하게 사용할 수 있어서 편리합니다.

 


사용법에 대해 간단하게 알아보겠습니다.

 

1. AND 구문에서는 WHERE 1 = 1 사용하자.

만약에, 'WHERE 1=1'이 없다면 if 조건절 안에 WHERE를 넣어야 할지 AND를 넣어야할지 알 수 없습니다.
'WHERE 1 = 1'을 사용하게 되면 아래 조건절에 무조건 AND를 넣으면 되는 겁니다.

	SELECT *
	  FROM NAME_LIST
 	 WHERE 1 = 1
	 #if(!$name.equals(''))
		AND NAME = '$name'
	 #end
	 #if(!$age.equals(''))
		AND AGE = '$age'
	 #end


 

2. OR 구문에서는 WHERE 1 = 0을 사용하자.

위 1번과는 달리 OR 구문에서는 WHERE 1 = 0을 사용해야 합니다.
결과값이 아무것도 없는 상태에서 OR 구문으로 결과를 하나씩 하나씩 추가해 나가야 하니까요.

	SELECT *
	  FROM NAME_LIST
 	 WHERE 1 = 0
	 #if(!$name.equals(''))
		OR NAME = '$name'
	 #end
	 #if(!$age.equals(''))
		OR AGE = '$age'
	 #end

 

 

사실 알고보면 별거 아닌 간단한 기능이지만, 이걸 모르면 WHERE절 밑의 IF절이 복잡해지게 되는거죠.

#if where name = '$name' #end
#if and name = '$name' #end

이 둘 중에 무엇을 써야할지 일일이 조건을 따져서 코딩을 하게 되면 코딩이 길어지게 됩니다.
사실, 꼼수로서는 실전에서 굉장히 유용하게 잘 사용되는 방법입니다.


List of Articles
번호 제목 날짜 조회 수
61 [Oracle 12] ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다. file 2016.12.08 8580
60 [Oracle 12g] 설치 후 오라클 관리자 계정 접속하기 file 2016.12.08 10721
59 WITH문으로 쿼리를 임시테이블이나 View처럼 사용하자. 2016.08.29 8379
58 WHERE절에서 Null 값 비교하기 file 2016.08.29 9354
57 V$SESSION 테이블 활용 2016.09.12 8119
56 UNION ALL 과 ORDER BY 섞어서 쓰기 2016.08.30 9899
55 TOAD에서 Explain Plan 보기 2016.09.12 8230
54 Toad 에서 생성한 테이블의 컬럼위치를 변경하고 싶을 때 Rebuild Table 사용 file 2016.08.30 7604
53 TOAD 에서 SQL Builder 을 사용하여 DML 문서 작성을 자동화 해본다 file 2016.08.30 7508
52 TOAD 에서 Edit 를 통해 sql문을 작성할때 참고해야할 View file 2016.08.30 7468
51 Toad 사용시 캐릭터 인코더 UTF-8 로 변경하기 file 2016.08.30 10086
50 sqlplus에서 Ampersand나 특수 문자를 갖는 데이타를 insert하는 방법 sqlplus 데이터 insert 입력값 요구 2016.12.08 8912
49 SQL 쿼리문 보기 좋게 정렬해주는 사이트 - Instant SQL Formatter file 2016.08.29 10998
48 SQL 작성을 위한 25가지 원칙 2016.12.08 6909
47 rownum 으로 범위지정을 해주고 싶을 때 2016.08.30 8624
46 rownum 사용 - 최근글 몇개만 가져오기 2016.12.08 9989
45 ROLLUP 합계, 소계 구하기 (GROUP BY) file 2016.12.08 11869
44 RMAN 을 이용한 오라클 백업 2016.12.08 8583
43 PL/SQL에서 자바(Java) 클래스(Class), 함수 실행 방법 file 2016.12.08 9387
42 PK 수정하기 2016.09.12 7069
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved