영보의 SystemOut.log

[Oracle] SQL연산자 / Oracle연산자 / WHERE 조건절 본문

Database/Oracle

[Oracle] SQL연산자 / Oracle연산자 / WHERE 조건절

영보로그 2020. 8. 5. 10:30
반응형
DML : 데이터 처리
SELECT 데이터 검색
INSERT  데이터 추가
UPDATE 데이터 수정
DELETE 데이터 삭제

 

 

 

* WHERE 문장을 사용하기 위해서는 반드시 쓰는 연산자

 -  오라클 => 연산자

 -  NULL일 경우에는 연산처리를 할 수 없다 (NULL과 연산시에는 NULL값)

 -  10+null => null

 

 

 

# SQL 연산자


산술연산자

비교연산자 논리연산자
  + , - , * , /

 = : 같다 (==)

 != : 같지 않다 (<>, ^=)
 < : 작다

 > : 크다

<= : 작거나 같다

>= : 크거나 같다

OR : 둘중 한개가 true -> true

AND : 두개의 조건이 true => true 

NOT : 부정 → 오라클에선 !를 사용하면 안된다.

 => /는 0으로 나눌 경우에 오류 발생

          /는 무조건 실수

         java) 5/2 = 2

       oracle) 5/2=2.5

Oracel: 문자열, 날짜를 비교할 수 있다

Java) 문자열 비교 ( equals(), compare())

 java) &&, ||

 oracle) & => Scanner  ||=> 문자열 결합

 NOT BETWEEN AND
 NOT IN~ 
 NOT LIKE

 

 * 대입 연산자 (=)

    - = : 대입연산자

      → UPDATE(WHERE안에서 =를 사용하면 비교연산자)

 

 

 

 

#오라클에서만 존재하는 연산자

연산자
정의

NULL
NULL값일 경우에 처리 : IS NULL
NULL 값이 아닐 경우에 처리 : IS NOT NULL

 
 IN OR가 여러개 일 경우에 대체하는 연산자


deptno=10 OR deptno=20 OR deptno=30

  = deptno IN(10,20,30)

BETWEEN ~ AND 기간 , 범위
 - 페이지 나눌 경우
 
  >= AND <=

 sal>=100 && sal<=3000
 = sal BETWEEN 100 AND 3000

LIKE 유사 문자열 찾기

 % : 문자열
 _ : 한개 문자

 
- 'A%' -> A로 시작하는 모든 문자열
 - Aa Aaa Aaaa ...(글자수 제한 없이 가져옴 java) - startsWith)
 -'%A' -> A로 끝나는 모든 문자열을 가져옴  java) - endsWith
  - '%A%' -> A를 포함하고 있는 모든 문자열 contains()
  -  '_A' -> 2글자 => A로 끝난 문자열

  - '__C__' -> 

 

   

   

 

* WHERE 컬럼명 연산자 값 => if(조건문)

 이름중에 KING 

WHERE ename ='KING'

WHERE ename >'KING'

WHERE ename<'KING'   => 값 (대소문자 구분, 반드시 '')

 

 

 

* 산술연산자 예제

SELECT 10+3, 10*3, 10/3, 10-3 FROM DUAL;

 

 

 

반응형