다중행 함수와 데이터 그룹화
-여러 행을 바탕으로 하나의 결과 값을 도출해 내기 위해 사용하는 함수입니다.
-SUM 함수를 사용하여 급여 합계 출력하기
-SUM 함수를 사용하여 사원 이름과 급여 합계 출력하기(오류 발생)
-자주 사용하는 다중행 함수
주로 통계관련 함수 : 집계 함수
1) 데이터의 합을 구하는 함수
2) 추가 수당 합계 구하기
3) SUM 함수와 DISTINCT, ALL 함께 사용하기
ALL : 모든 값 (기본 값)
DISTINCT : 유일한 값
1) 데이터 개수를 출력하는 데 사용
2) NULL이 데이터로 포함되어 있을 경우, NULL 데이터는 반환 갯수에서 제외
참고)
전체 데이터 갯수 : COUNT(*)
MAX(..) : 최대값
MIN(..) : 최소값
1) 부서 번호가 30인 사원들의 평균 급여 출력하기
2) DISTINCT로 중복을 제거한 급여 열의 평균 급여 구하기
SELECT DEPTNO, JOB, ROUND(AVG(SAL)) FROM EMP GROUP BY DEPTNO, JOB;
1) 여러 데이터에서 의미 있는 하나의 결과를 특정 열 값으로 묶어서 출력할 때 데이터를 '그룹화' 한다고 표현
2) 문법
3) GROUP BY절에 명시하는 열은 여러 개 지정할 수 있습니다.
1) 다중행 함수를 사용하지 않은 일반 열은 GROUP BY절에 명시하지 않으면 SELECT 절에서 사용할 수 없다는 것
2) GROUP BY절에 없는 열을 SELECT절에 포함했을 경우
1) HAVING 절은 SELECT문에 GROUP BY절이 존재할 때만 사용할 수 있다.
2) GROUP BY절을 통해 그룹화된 결과 값의 범위를 제한하는 데 사용
SELECT DEPTNO, JOB, ROUND(AVG(SAL)) FROM EMP
WHERE DEPTNO IN (10, 20)
GROUP BY DEPTNO, JOB
HAVING AVG(SAL) >= 1000;
EMP.DEPTNO = DEPT.DEPTNO
3. 테이블의 별칭 설정
FROM 테이블명 "별칭"
큰 따옴표는 한다어로 구성된 경우는 생략 가능
등가 조인
-공통적인 값의 일치 조건을 가지고 테이블을 결합하는 방식
-동등 조인, 내부(inner) 조인
비등가 조인
-등가 조인이 아닌 조인, 암묵적 조인
-범위에 대한 조회
자체 조인
-같은 테이블 내에서 조인
SELECT * FROM EMP NATURAL JOIN DEPT;
공통적인 이름의 컬럼이 단 1개
SELECT * FROM EMP JOIN DEPT USING(DEPTNO);
공통적인 이름의 컬럼이 1개 이상
USING(공통 컬럼)
공통적인 값을 가진 컬럼명이 서로 동일하지 않은 경우
1) 왼쪽 외부 조인
LEFT [OUTER] JOIN
LEFT JOIN DEPT_JOIN D ON E.DEPTNO = D.DEPTNO;
2) 오른쪽 외부 조인
RIGHT [OUTER] JOIN
RIGHT JOIN DEPT_JOIN D ON E.DEPTNO =D.DEPTNO;
FULL JOIN DEPT_JOIN D ON E.DEPTNO =D.DEPTNO;
SQL
-데이터의 구조를 정의하는 언어
-실행하자마자 COMMIT 바로 실행 -> 바로 영구 반영
-INSERT, UPDATE, DELETE, SELECT - DQL
-COMMIT, ROLLBACK이 적용될 수 있음
-GRANT, REVOKE
-COMMIT, ROLLBACK - TCL
세션 : 연결 시작, 종료