<숫자함수>
:숫자형 데이터를 조작하여 변환된 숫자 값을 반환하는 함수
ABS함수/Floor함수(ABS함수는 절대값을 반환)
SQL>SELECT ABS(-15) FROM DUAL; //15
SQL>SELECT FLOOR(34.5678) FROM DUAL; //34
ROUND 함수(특정 자리에서 반올림). ROUND(대상, 표시할 자릿수)
<날짜함수>주 사용
DATE(날짜)형에 사용하는 함수, 결과 값으로 날짜 또는 기간 얻음
기간은 주로 일 단위로 계산, 월 단위로 계산되기도 함.
SYSDATE

->칼럼명 대신 별칭 지정, 출력되는 값은 칼럼값이지만 헤딩에 출력되는 것은
칼럼명 대신 별칭 출력
MONTHS-BETWEEN(date1, date2) : 두 날짜 사이 간격 계산

ADD_MONTHS : 특정 개월 수를 더한 날짜를 구함
NEXT_DAY(date, 요일):지정 요일에 해당되는 날짜 반환하는데 가장 빠른 날짜 반환
ALTER SESSION SET NLS_LANGUAGE=AMERICAN; : 언어 영어로 변환
LAST_DAY : 해당 달의 마지막 날짜 반환
TRUNC(date,’MONTH’) : 날짜 잘라내기
<변환함수>
TO-CHAR(날짜 데이터,’출력형식’)


<일반함수>
NVL: 첫번째 인자로 받은 값이 null과 같으면 두 번째 인자 값으로 변경
DECODE: 첫 번째 인자로 받은 값을 조건에 맞춰 변경(if와 유사)

SQL> SELECT DEPTNO,DECODE(DEPTNO,10, ‘ACCOUNTING’,
20, ‘RESEARCH’,
30, ‘SALES’,
40, ‘OPERATIONS’)AS DNAME
FROM EMP;
CASE: 조건에 맞는 문장 수행(switch와 유사)

SQL>SELECT ENAME,DEPTNO,
CASE WHEN DEPTNO=10 THEN ‘ACCOUNTING’
WHEN DEPTNO=20 THEN ‘RESEARCH’
WHEN DEPTNO=30 THEN ‘SALES’
WHEN DEPTNO =40 THEN ‘OPERATIONS’
END DNAME
FROM EMP;

<그룹함수>

주의: 그룹함수 결과값!은 하나인데 불러올 값을 여러개로 해버릴때 오류발생!
(숫자여야 집합함수 사용 가능)

<조인/join>완전 중요!!!!
하나 이상의 테이블에서 원하는 결과를 가져오기 위한 작업
(하나 이상의 테이블이 빈번히 결합되어 사용,
한 개 이상의 테이블에서 데이터를 조회하기 위해서 사용하는 게 조인)
+)조인 개수는 무조건 Table-1
조인은 Primary Key와 Foreign Key를 통한 다른 테이블 행과 연결함.
<조인 규칙>
1. Ptimary Key와 Foreign Key열을 통한 다른 테이블의 행과 연결
2. 연결 Key 사용으로 테이블과 테이블이 결합
3. Where 절에서 조인 조건을 사용한다(조인조건개수 = 연결 테이블 수-1)
4. 명확성을 위해 칼럼 이름 앞에 테이블명 또는 테이블 별칭을 붙임.
Equi Join(주 사용***)
동일 칼럼을 기준으로 조인(inner join, simple join)
두 테이블에서 공통적으로 존재하는 칼럼의 값이 일치되는 행을 연결하여 결과를 생성
SQL>SELECT ENAME,DNAME,
FROM EMP,DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO;
: EMP 테이블과 DEPT 테이블의 공통 칼럼인 DEPTNO의 값이 일치(=)되는 조건을 WHERE 절에 사용
두 테이블을 조인하려면 일치되는 공통 칼럼을 사용해야함
칼럼 명이 같게 되면 혼동이 오기 때문에 칼럼명 앞에 테이블명을 점(.)과 함께 기술
:조인한 결과를 살펴보면 부서번호를 기준으로 같은 값을 가진 사원 테이블과부서 테이블이 결합됨.
Cross Join
2개 이상의 테이블이 조인될 때 where절에 의해 공통되는 칼럼에 의한 결합이 발생되지
않는 경우/ 테이블에 존재하는 모든 데이터가 검색 결과로 나타남
Non-Equi Join
동일 칼럼이 없이 다른 조건을 사용하여 조인
조인할 테이블 사이에 칼럼의 값이 직접적으로 일치하지 않을 시 사용하는 조인
’=‘를 제외한 연산자 사용
조인 조건에 만족하지 않는 행도 나타낸다.
한 테이블 내에서 조인
SELECT E.ENAME, D.DNAME
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO AND E.ENAME='SCOTT';