메뉴 건너뛰기

조회 수 9613 추천 수 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
번호 제목 날짜 조회 수
121 Oracle 11g Client Install 및 외부 클라이언트 도구의 사용 file 2016.12.08 70702
120 linux 오라클 리스너 설정(오라클 원격접속) 2016.09.11 25399
119 Oracle 11g Database에 외부 접속 허용하도록 설정하기 file 2016.12.08 24907
118 오라클 DB 생성 후 설정 Listener.ora & Tnsnames.ora (윈도우) file 2016.12.08 23308
117 숫자 체크 방법 (IS_NUMBER, IS_NUMERIC) file 2016.12.08 23122
116 구분자로 자르기 (Split) file 2016.12.08 20564
115 [Oracle SQL] 여러 행(ROW)을 하나의 컬럼(COLUMN)으로 합치기 (WM_CONCAT) file 2016.12.08 20011
114 오라클 (Oracle) 11g 를 위한 토드(Toad) 무료 버전 다운받기 file 2016.08.30 16019
113 동적쿼리(Dynamic SQL) 사용법 (텍스트 쿼리) file 2016.12.08 15036
112 숫자를 문자로 변환 시 소수점 처리 (TO_CHAR, FM) file 2016.12.08 15027
111 INSTR 문자열의 뒤(마지막)에서 부터 문자 찾기 (right to left, last) file 2016.12.08 14862
110 컬럼의 값 만큼 행(Row)을 늘리기 file 2016.12.08 14092
109 오라클에서 레코드 값이 없을때 2016.12.08 13469
108 데이터의 암호화 및 복호화 file 2016.12.08 13243
107 CLOB TEXT 데이타를 저장하고, 조회하는 예제 2016.12.08 13063
106 여러개(다중) LIKE 검색 방법 (REGEXP_LIKE 함수) file 2016.12.08 12822
105 피봇(Pivot)을 이용하여 행(Row)을 열(Column)로 바꾸기 file 2016.12.08 12675
104 [Oracle] DB Export, Import 방법 2016.12.08 12607
103 오라클 테이블 생성 스크립트 DDL 추출 - 깔끔하게 Table 전부 추출(Export)하기 file 2016.12.08 12522
102 CentOS 6.5 에 Oracle Database 11g Release 2 설치하기 file 2016.12.08 12409
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved