-> 다중의 열이 들어와서 하나의 열로 출력결과를 반환함
GROUP BY 절 : 결과값을 원하는 열로 묶어 출력
GROUP BY 절의 조건 : HAVING 절
SELECT SUM(SAL)
FROM EMP;
SELECT SAL은 다중의 열을 선택하게된다
하지만 SUM은 다중의 열의 값을 다 더한후
하나의 열로 결과가 RETURN된다 그래서 다중행 함수 이다
/*결과값이 복수행과 단일행이 같이 들어가있으면 출력이 불가능하다*/
SELECT ENAME, SUM(SAL)
FROM EMP;
SUM 다중행의 총 합을 하나의 열에 리턴
COUNT 다중행의 갯수를 하나의 열에 리턴
MAX 다중행의 가장 높은 수를 하나의 열에 리턴
MIN 다중행의 가장 작은 수를 하나의 열에 리턴
AVG 다중행의 평균 값을 하나의 열에 리턴
SELECT SUM(COMM)
FROM EMP;
SELECT SUM(DISTINCT SAL),
SUM(ALL SAL),
SUM(SAL)
FROM EMP
/*EMP테이블의 모든 사원들에 대하여 급여와 추가수당의 합을 출력*/
SELECT SUM(SAL) AS 급여합,
SUM(COMM) AS 수당합
FROM EMP;
NULL값은 더해지지 않고 무시한다
ALL SAL과 SAL 은 같은 결과를 리턴한다
SELECT COUNT(*)
FROM EMP; /*행의 수 세기*/
SELECT COUNT(COMM) /*NULL 값은 제외가 된다*/
FROM EMP;
/*부서번호가 30번인 직원수 구하기*/
SELECT COUNT(*)
FROM EMP
WHERE DEPTNO = 30;
/*부서번호가 20인 사원의 입사일중 제일 최근 입사일 출력*/
SELECT MAX(HIREDATE) /*날짜에도 사용가능한데*/
FROM EMP /*최근의 날짜값이 크기때문에 MAX를 쓴다*/
WHERE DEPTNO = 20;
MIN()
NULL값을 0이라고 착각할수 있지만 아니다
NULL은 무시되고 가장 최소값이 리턴된다
AVG()
평균 값을 계산해주는데 보통 소숫점을 정리해주는 함수와 같이 사용한다
NULL값은 무시되고 평균을 구한다
SELECT ROUND(AVG(SAL),2) /*소수점 둘째자리까지의 평균*/
FROM EMP;