SELECT는 테이블에서 튜플을 검색
SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...]
FROM 테이블명[, 테이블명, ...][, WINDOW 함수 OVER (PARTITION BY 속성명1, ...
ORDER BY 속성명2) [AS 별칭]]
[WHERE 조건]
[GROUP BY 속성명, 속섬영, ..]
[HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술
속성명 : 검색하여 불러올 속성(열) 또는 속성을 이용한 수식을 지정
FROM절 : 검색될 데이터들을 포함하는 테이블명 기술
WHERE절 : 검색할 조건을 기술
ORDER BY : 특정 속성을 기준으로 정렬하여 검색
WINDOW 함수 : GROUP BY
절을 이용하지 않고 속성의 값을 집계할 함수를 기술
GROUP BY : 특정 속성을 기준으로 그룹화하여 검색할 때 사용. 그룹 함수와 같이 사용
HAVING : GROUP BY
와 함께 사용하여 그룹에 조건을 지정
GROUP BY절을 이용하지 않고 함수의 인수로 지정한 속성을 범위로 하여 속성의 값을 집계한다.
사원 테이블에서 부서 별로 경력에 대한 일련번호를 구하여 짬순이라는 이름을 붙이는 SQL
SELECT 부서, 경력 ROW_NUMBER() OVER (PARTITION BY 부서 ORDER BY 경력 DESC) AS 짬순 FROM 사원;
GROUP BY 절을 지정한 속성을 기준으로 그룹화하여 검색한다.
사원 테이블에서 부서별 경력의 평균을 구하는 SQL
SELECT 부서, AVG(경력) AS 평균 FROM 사원 GROUP BY 부서;
집합 연산자를 사용하여 2개 이상의 테이블의 데이터를 하나로 통합한다.
SELECT 속성명1, 속성명2, ...
FROM 테이블명
UNION | UNION ALL | INTERSECT | EXCEPT
SELECT 속성명1, 속성명2, ...
FROM 테이블명
[ORDER BY 속성명 [ASC | DESC]];
UNION : 두 SELECT 문의 결과를 통합하고 중복된 행은 한 번만 출력(합집합)
UNION ALL : 두 SELECT 문의 결과를 통합하고 중복된 행도 그대로 출력(합집합)
INTERSECT : 두 SELECT 문의 결과 중 공통된 행만 출력(교집합)
EXCEPT : 첫번째 SELECT 문의 결과에서 두 번째 SELECT 문의 결과를 제외한 행을 출력 (차집합)