티스토리 뷰
데이터 조작을 위한 주요 함수 정리
#. SQL 각각의 구문의 의미
SELECT 컬럼명 --------------------- (5) 추출된 데이터들을 조회
FROM 테이블명------------------- (1) 테이블을 가장 먼저 확인
WHERE 테이블 조건 --------------- (2) 테이블에서 주어진 조건에 맞는 데이터들을 추출
GROUP BY 컬럼명 -------------------- (3) 공통적인 데이터들끼리 묶어 그룹
HAVING 그룹 조건 ----------------- (4) 주어진 주건에 맞는 그룹들을 추출
ORDER BY 컬럼명 -------------------- (6) 추출된 데이터들을 정렬
#. 날짜 관련 함수 (문자열을 날짜로 변경하기 위한 방법)
to_char('2018/12/27', 'YYYY/MM/DD')
#. 문자 치환함수(upper, lower, substr, 연결연산자 등)
initcap(ENAME), // 첫 문자만 대문자 치환
lower(ENAME), // 전체 소문자 치환
upper(ENAME) // 전체 대문자 치환
substr(원본문자열 혹은 컬럼, 시작위치, 추출개수) // substr(jumin, 7, 1) as 성별
INSTR(추출 문자열 또는 컬럼, 찾고자하는 문자열, 시작위치, 반복번호) // substr(TEL, 1, instr(TEL, ')', 1, 1)-1) AS 지역번호
// substr(mail, 1, instr(mail, '@', 1, 1)-1) AS 아이디
참고글: SQL 문자함수(이동)
#. 원하는 데이터 선택 방법. where 절 조건
select *
from STUDENT
where HEIGHT >= 180;
#. 인라인뷰, 다중컬럼쿼리 비교
# 부서별 최대 연봉자 누구인지 확인
-- 인라인뷰
-- 다중 컬럼 서브 쿼리
#. decode
DECODE(A, B, '1', null) :: A 가 B 일 경우 '1'을, 아닐 경우 null(생략 가능)
DECODE(A, B, '1', '2') :: A 가 B 일 경우 '1'을, 아닐 경우 '2'
DECODE(A, B, '1', C, '2', '3') :: A 가 B 일 경우 '1'을, A 가 C 일 경우 '2', 둘 다 아닐 경우 '3'
DECODE(A, B, DECODE(C, D, '1', null)) :: A 가 B 일 경우, C 가 D 를 만족하면 '1', C 가 D 가 만족 안 하면 null
DECODE(A, B, DECODE(C, D, '1', '2')) :: A 가 B 일 경우, C 가 D 를 만족하면 '1', C 가 D 를 만족 안 하면 '2'
#. null 치환 함수(nvl함수 사용 시 주의점)
NVL(조사할 컬럼, null일 경우 치환할 값) -- 주의. 조사할 컬럼과 치환할 값의 데이터 타입이 같아야 함
NVL2(조사 대상 컬럼 , null이 아닐 경우 치환할 값 , null일 경우 치환할 값)
#. 치환함수 replace, traslate
REPLACE('문자열 또는 컬럼', '찾을 문자열', '바꿀 문자열')
TRANSLATE ('문자열 또는 컬럼', '찾을 문자열', '바꿀 문자열')
-- replace는 단어 단위의 치환, translate는 문자의 1:1 치환
참고글: SQL 문자함수(이동)
#. 날짜 반올림, 버림
#. group by
#. is.null, isnotnull
select *
from EMP
where EMPNO is null;
=> emp 테이블에서 empno의 값이 null인 데이터 조회
select *
from EMP
where EMPNO is not null;
=> emp 테이블에서 empno의 값이 null이 아닌 데이터 조회
#. JOIN
'SQL > Organize' 카테고리의 다른 글
[SQLD] 과목 2. SQL 기본 및 활용 정리 (2) | 2020.08.16 |
---|---|
[SQLD] 과목 1. 데이터 모델링의 이해 정리 (2) | 2020.08.15 |