집단함수를 사용해 튜플의 통계를 낼 수 있습니다.
집단함수에는 다음과 같은 키워드가 존재합니다.
- COUNT : 튜플이나 값의 개수 반환
- SUM : 값의 합 반환
- MAX : 값의 최댓값 반환
- MIN : 값의 최솟값 반환
- AVG : 값의 평균 반환
SELECT SUM(SALARY). MAX(SALARY), MIN(SALARY), AVG(SALARY)
FROM EMPLOYEE, DEPARTMENT
WHERE DNO=DNUMBER AND DNAME='Research'
‘Research’ 부서에 있는 모든 사원들의 봉급의 합, 최고 봉급, 최저 봉급, 봉급 평균을 구하는 구문입니다.
SELECT COUNT(*)
FROM EMPLOYEE
회사 내의 총 종업원의 수를 출력합니다.
SELECT COUNT(*)
FROM EMPLOYEE, DEPARTMENT
WHERE DNO=DNUMBER AND DNAME='Research'
‘Research’ 부서에 속해 있는 사원의 수를 출력합니다.
그룹화를 통해 동일한 애트리뷰트를 묶을 수 있습니다.
SELECT DNO, COUNT(*), ANG(SALARY)
FROM EMPLOYEE
GROUP BY DNO
각 부서에 대해 부서 번호, 부서 사원 수, 평균 봉급을 출력하는 구문입니다.
DNO를 기준으로 그룹화를 하고, 그룹별로 COUNT와 AVG 연산을 하게 됩니다.

LIKE 연산자를 사용하여 문자열 비교가 가능합니다.
‘%’는 임의의 개수의 문자를 비교할 때 사용되며, ‘_’는 임의의 한 문자를 비교할 때 사용됩니다.
SELECT NAME
FROM EMPLOYEE
WHERE ADDRESS LIKE '%Houston, TX%'
주소가 Houston, Texas인 모든 사원을 검색합니다.
SELECT NAME
FROM EMPLOYEE
WHERE NAME LIKE '_h%'
2번째 자리에 h가 들어가는 사원의 이름을 검색합니다.
구문 안에서 산술 연산을 수행할 수 있습니다.
SELECT NAME, 1.1*SALARY
FROM EMPLOYEE, WORKS_ON, PROJECT
WHERE SSN=ESSN AND PNO=NUMBER AND PNAME='ProductX'
‘ProductX’ 프로젝트에 참여하는 모든 사원의 봉급을 10% 인상하여 출력합니다.
ORDER BY 구문을 통해 튜플을 정렬할 수 있습니다.
SELECT DNAME, NAME
FROM DEPARTMENT, EMPLOYEE, WORKS_ON, PROJECT
WHERE DNUMBER=DNO AND SSN=ESSN AND PNO=PNUMBER
ORDER BY DNAME, NAME
프로젝트에 참여하는 사원을 부서의 알파벳 순서대로 정렬하며,
각 부서 내 사원은 알파벳 순서대로 정렬합니다.
ORDER BY의 기본값은 오름차순 정렬이며(ASC로 명시적 지정 가능), 내림차순은 DESC로 지정할 수 있습니다.
ex) ORDER BY DNAME ASC, NAME DESC
'Database' 카테고리의 다른 글
[Database] View (0) | 2025.04.30 |
---|---|
[Database] SQL(3) | DML – INSERT, DELETE, UPDATE (0) | 2025.04.30 |
[Database] SQL(2) | DML – SELECT(2) (0) | 2025.04.29 |
[Database] SQL(2) | DML – SELECT(1) (0) | 2025.04.29 |
[Database] SQL(1) | DDL (0) | 2025.04.29 |
댓글