Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 수정렬하기3
- DockerDesktop
- 노션
- 프로그래머스
- 소금폭탄
- 코딩테스트
- 코딩교육
- 자바
- 코테
- 파이썬
- 패스트캠퍼스
- 패스트캠퍼스후기
- 코딩자격증
- java
- 패캠
- 자바스크립트
- 스프링부트시작
- SQL
- 3273
- BOJ
- sql문법
- 배열
- 10989
- 백준
- springboot
- 알고리즘
- intelij
- 개발포트폴리오
- java11
- fastcampus
Archives
- Today
- Total
기록용 블로그
[SQL] 기본 문법들 (case문, rank, join 등) 본문
1) 분기문
1. simple case expression
SELECT
(CASE [컬럼명] WHEN [비교값1] THEN [반환값1]
WHEN [비교값2] THEN [반환값2]
.
.
ELSE [WHEN절 이외의 조건일때 반환될 값]
END) AS [별칭 컬럼명]
FROM [테이블명]
2. searched case expression
SELECT
(CASE WHEN [조건문1] THEN [반환값1]
WHEN [조건문2] THEN [반환값2]
.
.
ELSE [WHEN절 이외의 조건일때 반환될 값]
END) AS [별칭 컬럼명]
FROM [테이블명]
2) 집합연산 : 두 개 이상의 SELECT 쿼리 결과를 하나로 합쳐 줌.
- 합쳐주는 SELECT 구문의 반환 컬럼의 갯수와 순서가 모두 동일해야 함.
- 또한 각 컬럼의 데이터 형식이 같아야 함
1. UNION : 중복되는 결과 제거
SELECT [컬럼1]
,[컬럼2]
,[컬럼3]
FROM [테이블명1]
UNION
SELECT [컬럼1]
,[컬럼2]
,[컬럼3]
FROM [테이블명2]
2. UNION ALL : 중복되는 결과 포함
SELECT [컬럼1]
,[컬럼2]
,[컬럼3]
FROM [테이블명1]
UNION ALL
SELECT [컬럼1]
,[컬럼2]
,[컬럼3]
FROM [테이블명2]
3. 순위 집계
1. RANK : 동일한 값에 대해서는 동일한 순위값을 부여하고, 동일한 순위값 갯수만큼 등수를 건너뛰고 다음 순위를 부여
SELECT RANK() OVER(PARTITION BY [그룹할 컬럼들] ORDER BY [순위를 매길 때 사용할 컬럼들])
FROM [테이블명1]
예) 1등(100점), 2등(90점), 3등(85점), 3등(85점), 5등(80점) ....
2. DENSE_RANK : 동일한 값에 대해서는 동일한 순위값을 부여하는 대신, 등수를 건너뛰지 않고 다음 순위를 부여
SELECT DENSE_RANK() OVER(PARTITION BY [그룹할 컬럼들] ORDER BY [순위를 매길 때 사용할 컬럼들])
FROM [테이블명1]
예) 1등(100점), 2등(90점), 3등(85점), 3등(85점), 4등(80점) ....
3. ROW_NUMBER : 동일한 값에 대해서도 고유한 순위값을 부여
SELECT ROW_NUMBER() OVER(PARTITION BY [그룹할 컬럼들] ORDER BY [순위를 매길 때 사용할 컬럼들])
FROM [테이블명1]
예) 1등(100점), 2등(90점), 3등(85점), 4등(85점), 5등(80점) ....
4. JOIN
1. INNER JOIN : 교집합
2. OUTER JOIN
-- LEFT OUTER JOIN : LEFT 에 중점
SELECT *
FROM [테이블1] AS A
LEFT OUTER JOIN [테이블2] AS B
ON A.KEY = B.KEY
-- RIGHT OUTER JOIN : RIGHT 에 중점
SELECT *
FROM [테이블1] AS A
RIGHT OUTER JOIN [테이블2] AS B
ON A.KEY = B.KEY
-- FULL OUTER JOIN : 전체 데이터
'개발 > DB' 카테고리의 다른 글
[SQL] 기본 문법들2 (집계함수, 문자열함수, 날짜함수 등) (0) | 2023.04.09 |
---|