원하는 개수만큼만 출력
select top(5) salary하면 상위 5개만 출력
with ties를 뒤에 붙이면 공동 등수 데이터도 가져온다.
percent
top(10) percent *
상위 10퍼센트
합계
Sum
평균
Avg
최대 최소
max min
로우 개수
select count(eno)
중복된 건 빼고 카운트
select count(distinct job)
그룹함수
group by로 기준을 만듦
집계함수는 이름 값 출력이 안된다.
나머지는 된다.
그룹함수에서 집계함수 사용
HAVING
그룹의 결과를 제한한다.
ROLLUP
중간합계와 전체 합계를 구한다.
with rollup
CUBE
큐브가 rollup 상위호환이다.
with cube
CASE
CASE 조건에 따라 서로 다른 처리
case when 조건1 then 결과1
else 결과n
end
pivot과 unpivot
pivot
행 집합을 열로 변환시켜 결과 값을 보여준다.
uppivot
열 집합을 행으로 변환시켜 결과 값을 보여준다.
select 칼럼명, rank () over (order by 순위를 정할 기준열)
dense_rank
그 수만큼 순위를 건너뛰지 않고 다음 순위 바로 나온다.
row_number
임의의 값을 대입해서 순위 매긴다.
NTILE
나누고 그 분할된 그룹에서 순차적으로 번호 매긴다.
partition by
열을 중심으로 그룹을 지어 범위 별로 순위를 매긴다.
IIF(boolean, true, false)
CHOOSE
index 값 위치의 변수 값을 돌려준다.
CHOOSE(index, val)
SEQUENCE
고유 값을 넣는 것
NEXT VALUE FOR deptsquence로 가능하다.
ANSI Inner Join
SELECT * FROM table1 INNER JOIN table2
ON table1.column1 = table2.column2
ANSI Outer Join
SLECT * FROM table1 [LEFT | RIGHT | FULL] OUTER JOIN table2
UNION
두 쿼리의 결과를 하나의 결과 집합으로 만드는 것이다.
두 테이블의 결과 집합의 열의 개수가 같고 형식이 같아야 한다.
SELECT 절에는 열이름이 존재해야 한다.
UNION ALL은 중복된 행 제거하지 않는다.
'IT > DB' 카테고리의 다른 글
MS SQL 기초 #3 (0) | 2017.11.01 |
---|---|
MS SQL 기초 #2 (0) | 2017.11.01 |
MS SQL 기초 #1 (0) | 2017.09.22 |