집계 함수는 데이터의 요약 정보를 제공하는 함수입니다. GROUP BY 절과 함께 사용하여 데이터 그룹별로 요약 정보를 계산할 수 있습니다.
SELECT GRADE, SUM(HEIGHT), AVG(HEIGHT), MAX(HEIGHT), MIN(HEIGHT)
FROM STUDENT
GROUP BY GRADE;
SELECT EMP_TYPE, COUNT(EMP_TYPE), SUM(PAY), AVG(PAY), MAX(PAY), MIN(PAY)
FROM EMP2
GROUP BY EMP_TYPE;
SELECT POSITION, AVG(PAY), MAX(PAY), MIN(PAY)
FROM PROFESSOR
GROUP BY POSITION;
WHERE 절은 데이터를 필터링하는 데 사용되며, HAVING 절은 그룹화된 데이터에 대한 조건을 지정하는 데 사용됩니다.
SELECT GRADE, SUM(HEIGHT), AVG(HEIGHT), MAX(HEIGHT), MIN(HEIGHT)
FROM STUDENT
GROUP BY GRADE
HAVING AVG(HEIGHT) > 172;
SELECT EMP_TYPE
FROM EMP2
GROUP BY EMP_TYPE
HAVING AVG(PAY) > 4310000;
SELECT POSITION, AVG(PAY), MAX(PAY), MIN(PAY)
FROM PROFESSOR
GROUP BY POSITION
HAVING MIN(PAY) <= 220;
숫자 함수는 숫자 데이터를 처리하는 데 사용됩니다.
SELECT ROUND(12.3456789, 0), ROUND(12.3456789, 1), ROUND(12.3456789, 2) FROM DUAL;
SELECT CEIL(12.34), CEIL(-12.34), CEIL(12.74) FROM DUAL;
SELECT FLOOR(12.34) FROM DUAL;
SELECT TRUNC(12.34567, 2), TRUNC(12.54342, 3) FROM DUAL;
SELECT NAME, PAY, ROUND(PAY + PAY * 0.2, 0) "INC"
FROM PROFESSOR;
문자열 함수는 텍스트 데이터를 처리하는 데 사용됩니다.
SELECT ID, UPPER(ID), LOWER(EMAIL) FROM PROFESSOR;
SELECT ID, LENGTH(ID), LENGTH('ABCD') FROM PROFESSOR;
SELECT DNAME, LENGTH(DNAME), LENGTHB(DNAME) FROM DEPT2;
SELECT LENGTH('사장실') FROM DUAL;
SELECT LENGTHB('사장실') FROM DUAL;
SELECT JUMIN, SUBSTR(JUMIN, 7, 1) FROM GOGAK;
SELECT INSTR('ABCD', 'B') FROM DUAL;
SELECT INSTR('ABCDASSBBSDAWESBSDGBB', 'B', -1) FROM DUAL;
SELECT LPAD('abcd', 20, '@') FROM DUAL;
SELECT RPAD('abcd', 20, '@') FROM DUAL;
SELECT CONCAT(NAME, POSITION) || '님' FROM PROFESSOR WHERE DEPTNO = 101;
SELECT NAME || POSITION || '님' FROM PROFESSOR;
SELECT LTRIM(' ABCD ') FROM DUAL;
SELECT RTRIM(' ABCD ') FROM DUAL;