728x90
SQL 종류
DDL(AUTO COMMIT)
- CREATE
- ALTER
- DROP
- TRUNCATE
DML
- INSERT
- DELETE
- UPDATE
- MERGE
DCL(권한)
- GRANT
- REVOKE
TCL(트랜섹션관리)
- COMMIT
- ROLLBACK
DQL
- SELECT
SELECT문
작성
- SELECT 컬럼명 또는 표현식
- FROM 테이블 또는 뷰
- WHERE 조회조건
- GROUP BY 그루핑 컬럼명
- HAVING 그루핑 필터링조건
- ORDER BY 정렬 컬럼명
실행
- FROM->
- WHERE->
- GROUP BY ->
- HAVING ->
- SELECT ->
- ORDER BY순 실행
SELECT
- SELECT문 Alias(별칭)
- EX)EMPNO AS 사번
- AS 생략 가능
- EX)EMPNO 사번
SELECT문에서 별칭 사용시 ORDER BY에서만 별칭사용가능(실행순서때문에)
FROM
- 데이터 전달할 테이블 또는 뷰명 전달
- 테이블 별칭 선언 가능 (FROM 에서는 AS 사용안함)
함수
LOWER(대상) | 문자열 소문자로 |
UPPER(대상) | 문자열 대문자로 |
SUBSTR(대상,m,n) | m위치에서 n위치까지 문자열 추출 |
INSTR(대상, 찾을문자열) | 대상의 문자열 위치 반환 |
LTRIM(대상,삭제문자열) | 왼쪽의 문자 삭제 |
RTRIM(대상,삭제문자열) | 오른쪽의 문자 삭제 |
TRIM(대상) | 양쪽에서 문자 삭제 |
LPAD(대상,N,문자열) | 왼쪽에서 문자열 추가후 N길이 문자열 리턴 |
RPAD(대상,N,문자열) | 오른쪽에서 문자열 추가후 N길이 문자열 리턴 |
CONCAT(대상1,대상2) | 문자열 결합 |
LENGTH(대상) | 문자열 길이 |
REPLACE(대상,찾을 문자열, 바꿀 문자열) | 문자열 치환 및 삭제 |
TRANSLATE(대상, 찾을 문자열, 바꿀 문자열) | 글자를 1대1로 치환(EX)TRANSLATE('문자열','AB','ab')) -> A를 a로 B를 b로 |
ABS(숫자) | 절대값 반환 |
ROUND(숫자,자리수) | 소수점 특정 자리에서 반올림 |
TRUNC(숫자,자리수) | 소수점 특정 자리에서 버림 |
SIGN(숫자) | 숫자 양수면 1 음수면 -1 0이면 0반환 |
FLOOR(숫자) | 작거나 같은 최대 정수리턴 |
CEIL(숫자) | 크거나 같은 최소 정수 리턴 |
MOD(숫자1,숫자2) | 숫자1/숫자2의 나머지 반환 |
POWER(M.N) | M의 N거듭제곱 |
SQRT(숫자) | 루트값 |
SYSDATE | 현재 날짜 시간 |
CURRENT_DATE | 현재 날짜 |
CURRENT_TIMESTAMP | 현재 타임스탬프 |
ADD_MONTHS(날짜,N) | 날짜에서 N개월 후 날짜 |
LAST_DAY(날짜) | 주어진 월의 마지막 날짜 |
NEXT_DAY(날짜,요일) | 누어진 날짜 이후 지정된 요일의 첫번째 날짜 |
ROUND(날짜,자리수) | 날짜 반올림 |
TRUNC(날짜, 자리수) | 날짜 버림 |
TO_NUMBER(대상) | 숫자타입으로 변환 |
TO_CHAR(대상,포맷) | 날짜 포멧 변경,숫자 포멧 변경 |
TO_DATE(문자,포맷) | 날짜로 리턴 |
CAST(대상 AS 데이터타입) | 데이터 타입으로 대상 변경 |
DECODE(대상,값1,리턴1,값2,리턴2.......) | 대상이 값1과 같은면 리턴1 값2와같으면 리턴2...... |
NVL(대상,치환값) | 대상이 NULL일때 치환값 리턴 |
NVL2(대상,치환값1,치환값2) | 대상이 NULL일떄 치환값2 치환 아닐때 치환값1 치환 |
COALESCE(대상1,대상2....) | NULL이 아닌 첫번째 값을 리턴 |
CASE문 | 조건별 치환 및연산 |
WHERE절
- 원하는 행을 조건에 맞게 조회하기 위해 사용
NULL 확인
IS NULL | NULL 검색 |
IS NOT NULL | NULL 아닌거 검색 |
NOT A | A 아닌거 검색 |
LIKE | 특정패턴 검색 |
IN(A,B,C) | A,B,C 중 1개 조건 검색 |
GROUP BY 절
- 각 행을 특정 조건에 따라 그룹으로 묶어서 계산
- 그룹에 대한 조건은 WHERE에서 사용불가
- GROUP BY절을 사용할때 요약되기 전데이터 함께 출력 못함
- (EX) 부서 별로 GROUP BY 했을때 부서원 이름 )
HAVING절
- 그룹 함수 결과를 조건으로 사용할때 사용
- SELECT에 사용된 Alias 사용불가(연산순서때문에)
- ex) having sum(sarary)>1000
ORDER BY절
- 출력되는 행의 순서를 변경
- ASC 오름차순 DESC 내림차순
- SELECT절에 선언된 순서대로 숫자로도 가능
복합정렬
- 1차 정렬한후에 값이 같은 경우 그 값안에서 2차정렬이 일어남
728x90
'Computer Science > DataBase' 카테고리의 다른 글
[SQLD] 2과목 조인 (0) | 2024.05.07 |
---|---|
[SQLD] 1과목 정규화, 조인, 트랜잭션 (0) | 2024.05.06 |
[SQLD] 1과목 속성, 관계, 식별자 (0) | 2024.05.06 |