본문 바로가기
Database

Oracle 기본 - 2

by Lcoding 2022. 2. 18.
반응형

-- 연산자 

--비교연산자

A = B A와 B가 같다
A < B A보다 B가 큰것.
A <= B A보다 B가 크거나 같은것.
A > B A가 B보다 큰것.
A >= B A가 B보다 크거나 같은것.
 
 

--부정비교연산자

!= 같지 않은것
^= 같지 않은것
<> 같지 않은것
NOT 컬럼명= 같지 않은것
NOT 컬럼명> 크지 않은것
 
 

--논리연산자

A AND B A,B 모두 만족해야 참
A OR B A,B 둘중 하나만 만족해도 참
NOT 참이면 거짓 / 거짓이면 참으로 바꿈
 
 

--SQL 연산자

LIKE '%ABC%' ABC가 포함된 문자열을 조회한다. %는 모든값을 의미
-- // 'ABC%' -ABC로 시작하는 모든것 '%ABC' - ABC로 끝나는 모든것
-- 'ABC_' - ABC이후 한글자만 더 있는것

BETWEEN A AND B A와 B사이의 값을 조회
IN (데이터) OR을 의미하며 (데이터) 값 중에 하나만 일치해도 조회
IS NULL NULL인것을 조회
 
 

--부정 SQL 연산자

NOT BETWEEN A AND B A와 B사이에 해당되지 않은 값을 조회
NOT IN (데이터) (데이터)와 불일치 한 것을 조회
IS NOT NULL NULL 값이 아닌 것을 조회
 

-- NULL이란?

-- 숫자 혹은 날짜를 더하면 NULL이 된다
-- NULL과 어떤값을 비교하면 '알 수 없음'이 반환된다.

-- 관련 함수


NVL 함수 - NULL이면 다른 값으로 바꾼다.
-- 'NVL(ABC,0)' - ABC 컬럼이 NULL 이면 0으로 바꾼다.

NVL2 함수 - NVL함수와 DECODE 함수를 하나로 합친것.
-- 'NVL2(ABC,1,0)' - ABC컬럼이 NULL이 아니면 1, NULL이면 0을 반환

NULLIF 함수 - 두개의 값이 같으면 NULL을 같지않으면 첫번째 값을 반환
-- 'NULLIF(exp1,exp2)' - exp1과 exp2가 같으면 NULL 같지않으면 exp1을 반환

COALESCE - NULL이 아닌 최초의 인자 값을 반환
-- 'COALESCE(exp1,exp2,exp3,...)' - exp1이 NULL이 아니면 exp1의 값을 그렇지 않으면 그뒤의 값의
                                                                NULL여부를 판단하여 값을 반환


-- GROUP BY문

-- GROUP BY는 합계,평균,개수등을 계산할 수 있다.
-- HAVING구에 조건문을 사용
-- ORDER BY를 사용하여 정렬

-- ex) SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO;
--SUM은 합계 // 부서별 합계를 계산.

-- ex) SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO HAVING SUM(SAL) > 10000;
-- 급여합계가 10000이상만 조회

--집계 함수


COUNT() - 행수를 조회
-- COUNT(*)은 NULL값을 포함한 모든 행 계산 // COUNT(컬럼)은 NULL을 제외한 행 수 계산
ex) SELECT COUNT(ABC) FROM EMP;

SUM() - 합계 계산
--직업별 급여합계중에 급여합계가 1000이상인 직업
ex) SELECT JOB, SUM(SAL)
      FROM EMP
      GROUP BY JOB
      HAVING SUM(SAL) >= 1000;
-- 사원번호 100~103번의 부서별 급여합계
ex) SELECT DEPTNO, SUM(SAL) FROM EMP
      WHERE EMPNO BETWEEN 100 AND 103
      GROUP BY DEPTNO;

AVG() - 평균 계산
-- 부서별,관리자별 급여 평균 계산
ex) SELECT DRPTNO, MGR, AVG(SAL)
FROM EMP
GROUP BY DEPTNO, MGR;

MAX() - 최대값
MIN() - 최소값
STDDEV() - 표준편차 계산
VARIAN() - 분산 계산
반응형

'Database' 카테고리의 다른 글

JOIN할때 ON과 WHERE 중 어디에 조건을 줘야 효과적일까? _Oracle  (0) 2023.11.08
ORA-04031 in Oracle Error  (0) 2023.11.08
EXISTS와 IN의 차이_Oracle  (0) 2023.11.07
Oracle Comment 설정  (0) 2023.11.07
Oracle 기본  (0) 2022.02.16

loading