티스토리 뷰

SW

Comparison conditions & Logical conditions

I like simple code 2016. 4. 18. 09:32
728x90

~~ Hard Note Rule ~~

입력창색깔은 옅은녹색

용어나 단어는 푸른색

입력값이나 명령어는 주황색

다른명령어나 이름을 대체할수 있는 부분은 초록색

키나 중요한 표시는 붉은색

 

== Oracle ==


 

* The comparison conditions

 

1. BETWEEN  구문

: 값사이에 있는것을 구할때 쓴다. BETWEEN A AND B 로 A이상(하한값) B이하(상한값)를 찾아준다.

 

SQL> SELECT last_name, salary
   2     FROM employees
   3     WHERE salary BETWEEN 2500 AND 3500 ;

 

2. IN 구문

: 다중행 비교 연상자 중 하나 (여러개를 비교하는것을 뜻함) , 여러개의 값이 일치하는것을 찾고 싶을 때 사용

 

SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN (100, 101, 201) ; (100, 101,201 과 일치하는 메니저아이디를 가진 사람을 찾아달라)

 

3. Like 연산자 *

: 문자가 포함된것을 찾고 싶을 때 사용 , % 와 조합해서 많이 사용

[% : 문자가 하나가와도 되고, 여러개와도 된다는 뜻]

ex) a 로 시작하는 문자열 : a%

      a 가 포함된 문자열 : %a%

      a 로 끝나는 문자열 :  %a

      두번째 글자가 a인 문자열 : _a%

      끝에서 3번째 글자가 a인 문자열 : %a__

 

SELECT first_name
FROM employees
WHERE first_name LIKE 'S%;   (S로 시작되는 문자열을 찾아달라)

 

! 여기서 문제는 _이게 포함된 글을 찾고 싶을때는 어떻하냐이다. 그래서 ESCAPE 키 (\) 를 이용한다.

[\ 외에도 다른 키를 지정해도 되나, 가장 보편적으로 많이 쓰는 ESCAPE 키이다. ]

 

SELECT employee_id, last_name, job_id
FROM employees

WHERE job_id LIKE '%SA\_%ESCAPE '\' ;  (SA_ 가 포함되는 문자열을 찾아달라)

 

4. IS NULL 구문

: Null 값으로 지정되어있는 것을 구할때 사용 ( ! = null 이라고 쓰면 오류메시지가 뜬다. 반드시 is null 이라고 사용)

 

SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL ;

 

 

* Logical conditions

 

And : 조건중 둘 모두가 만족할때 값을 출력

OR : 조건중 한가지만 만족해도 값을 출력

NOT : 조건에 만족하지 않는 값을 출력 

         not 혼자 단독으로 사용할수는 없음. 비교 연산자와 함께 쓰임 (BETWEEN , IN , LIKE , IN NULL 등과 함께 쓰임)

 

SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
AND job_id LIKE '%MAN%' ;

 

SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
OR job_id LIKE '%MAN%' ;

 

SELECT last_name, job_id
FROM employees
WHERE job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP') ;

 

... WHERE job_id NOT IN ('AC_ACCOUNT', 'AD_VP')
... WHERE salary NOT BETWEEN 10000 AND 15000
... WHERE last_name NOT LIKE '%A%'
... WHERE commission_pct IS NOT NULL NOT IS NULL 이 아니라 IS NOT NULL 이 된다는점에 유의!! )

 

* 우선순위 적용룰
1 Arithmetic operators ( 숫자연산자 : * , , + , - )

2 Concatenation operator ( 연결연산자 : || )

3 Comparison conditions ( 부등호연산자  = , > , >=  < , <= )

4 IS [NOT] NULL, LIKE, [NOT] IN

5 [NOT] BETWEEN

6 Not equal to ( <> )
7. Not logical condition  ( NOT )
8 AND logical condition ( AND )
9 OR logical condition  ( OR  )

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함