SQLD 개발자 자격증 시험 전 본인이 보기 위해
중요하다고 생각한 부분만 정리한 요약본으로,
누락 내용이 있을 수 있다.
데이터베이스
용도와 목적에 맞는 데이터들끼리 모아서 저장
관계형 데이터베이스
RDB, 모든 테이블을 2차원 테이블로 표현 후,
각 테이블 간 관계를 정의하는 것으로 시작
SQL
관계형 데이터페이스에서
데이터를 다루기 위해 사용하는 언어
SELECT
저장된 데이터를 조회하고자 할 때
사용하는 명령어
문자 함수
① CHAR
SQL serve는 CHAR, MSSQL은 ASCII 코드
② LOWER: 문자를 소문자로 변환해주는 함수
③ UPPER: 문자를 대문자로 변환해주는 함수
④ LTRIM
특정 문자 명시 안 하면 왼쪽 공백 제거
특정 문자 명시하면 명시 문자 제거
⑤ RTRIM
특정 문자 명시 안 하면 오른쪽 공백 제거
특정 문자 명시하면 명시 문자 제거
⑥ TRIM
옵션이 하나도 없을 경우
왼쪽 오른쪽 모두 공백 제거
⑦ SUBSTR: 문자열의 원하는 부분만 잘라서 반환
⑧ LENGTH: 문자열의 길이를 반환
⑨ REPLACE
변경 전 문자열을 찾아 변경 후
문자열로 바꿔주는 함수,
명시 없으면 변경 전 문자열 제거
숫자 함수
① ABS(수): 수의 절댓값을 반환
ABS(-1) = 1
② SIGN(수): 수의 부호를 반환
SIGN(-7) = -1, SIGN(7) =1, 0이면 0을 반환
③ ROUND
수를 지정된 소수점 자릿수까지 반올림하여 반환
자릿수를 명시하지 않았을 경우 기본값은 0
반올림된 정수로 반환하고
자릿수가 음수일 경우
지정된 정수부를 반올림하여 반환
④ TRUNC
수를 지정된 소수점 자릿수까지 버림 하여 반환
자릿수를 명시하지 않았을 경우 기본값은 0
버림 하여 정수로 반환하고
자릿수가 음수일 경우
지정된 정수부에서 버림 하여 반환
⑤ CEIL: 소수점 이하의 수를 올림 한 정수를 반환
⑥ FLOOR: 소수점 이하의 버림 하여 정수를 반환
날짜 함수
① SYSDATE
현재의 연, 월, 일, 시, 분, 초를 반환해주는 함수
② EXTRACT
날짜 데이터에서 특정 단위만 출력해 반환
EXTRACT(YEAR FROM SYSDATE) = 2022
③ ADD_MONTHS
날짜 데이터에서 특정 개월 수를 더한 날짜를 반환
변환 함수
① 명시적 형 변환
변환 함수를 사용해 데이터 유형 변환을
명시적으로 나타냄
암시적 형 변환
데이터베이스가 내부적으로 알아서
데이터 유형을 변환함
② NULLIF(인수 1, 인수2)
인수 1과 인수 2가 같으면 NULL
같지 않으면 1
③ COALESCE(인수 1, 인수 2, 인수 3, …)
NULL이 아닌 최초의 인수를 반환
CASE
함수와 성격이 같기는 하지만,
표현 방식은 구문에 가깝다.
‘~이면 ~이고, ~이면 ~이다’
WHERE
INSERT를 제외한 DML 문 수행 시,
원하는 데이터만 골라 수행할 수 있도록
조건을 걸어주는 구문
비교 연산자 | 부정 비교 연산자 |
= 같음 < 작음 <= 작거나 같음 > 큼 >= 크거나 같음 |
!= 같지 않음 ^= 같지 않음 같지 않음 not 칼럼 명 = 같지 않음 not 칼럼 명 > 크지 않음 |
SQL 연산자 | 부정 SQL 연산자 | 논리 연산자 |
BETWEEN A AND B : A와 B 사이 LIKE ‘비교 문자열’ : 비교 문자열을 포함 IN (LIST) : LIST 중 하나와 일치 IS NULL: NULL 값 |
NOT BETWEEN A AND B : A와 B의 사이가 아님 NOT IN (LIST) : LIST 중 일치가 없음 IS NOT NULL : NULL 값이 아님 |
AND : 모든 조건이 TRUE OR : 하나 이상 조건이 TRUE NOT : TRUE이면 FALSE, FALSE이면 TRUE |
GROUP BY
데이터를 그룹별로 묶을 수 있도록 해주는 절
칼럼은 하나가 될 수도 있고
그 이상이 될 수도 있음
집계 함수
① COUNT(*): 전체 Row를 Count 하여 반환
② COUNT(칼럼)
칼럼값이 Null인 Row를 제외하고
Count 하여 반환
③ COUNT(DISTINCT 칼럼)
칼럼값이 Null이 아닌 Row에서
중복을 제거한 Count를 반환
④ SUM(칼럼): 칼럼값의 합계
⑤ AVG(칼럼): 칼럼값의 평균
⑥ MIN(칼럼): 칼럼값의 최소
⑦ MAX(칼럼): 칼럼값의 최대
HAVING
GROUP BY 절 사용 시
WHERE 절처럼 사용하는 조건절.
데이터 그룹화 후 특정 그룹을 골라낼 때 사용
HAVING 절은
GROUP BY 이후 수행되기 때문에
그룹화 후 가능한 집계 함수로
조건을 부여할 수 있음
HAVING 절은
SELECT 절 전에 수행되기 때문에
SELECT 절에 명시되지 않은 집계 함수
조건부여 가능
WHERE 절을 사용해도 되는 조건까지
HAVING 절로 써버리면
성능상 불리할 수 있음
(오류는 나지 않음)
GROUP BY는
비교적 큰 비용이 드는 작업이므로 수행 전에
데이터양을 최소로 줄여놓는 것이 바람직하다.
ORDER BY
SELECT 문에서
논리적으로 맨 마지막에 수행된다
ASC 오름차순 12345
DESC 내림차순 54321
기본 정렬은 ASC
구문 실행 순서
FROM – WHERE – GROUP BY – HAVING – SELECT – ORDER BY
JOIN
각기 다른 테이블을
한 번에 보여줄 때 쓰는 쿼리
EQUI JOIN: = 조건
Non EQUI JOIN: =이 아닌 다른 조건,
BETWEEN, >, >=, <, <=
EQUI JOIN과 Non EQUI JOIN은
하나의 Query에서 같이 사용할 수 있다.
OUTER JOIN
JOIN 조건에 만족하지 않는 행들도
출력되는 형태
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN(중복 값은 제거)
WHERE 절에서 JOIN 칼럼 옆에(+)를 붙이면
OUTER JOIN이 된다
(Oracle에서 LEFT OUTER JOIN은 우변,
RIGHT OUTER JOIN은 좌변에 +표기,
좌변이나 우변 한 곳에만 표기할 것)
INNER JOIN
JOIN 조건에 충족하는
데이터들만 출력되는 방식.
교집합. ON 절 사용 불가.
NATURAL JOIN
A 테이블과 B 테이블에서
같은 이름의 칼럼들이
모두 동일한 데이터를 가지고 있을 경우 사용
칼럼 중 하나의 값이 동일하지 않은 경우,
Oracle에서 USING 조건절을 활용해
원하는 칼럼만 JOINN에 사용 가능
단, SELECT 절에서 USING 절로
정의된 칼럼 앞에는
별도의 ALIAS나
테이블 명을 붙이지 않아야 한다.
CROSS JOIN
A 테이블과 B 테이블 사이에
별도의 JOIN 조건이 없는 경우,
조합할 수 있는 모든 경우의 수 출력
다른 말로는
카티시안 곱(Cartesian Product)
이라고도 한다.
'SQLD 자격증' 카테고리의 다른 글
SQLD 개발자 자격증 시험 응시 방법 및 입실/시험 시간 (0) | 2022.09.05 |
---|---|
SQLD 개발자 자격증 요약 4. SQL 활용 (1) | 2022.09.05 |
SQLD 개발자 자격증 요약 2. 데이터 모델링과 SQL (0) | 2022.09.05 |
SQLD 개발자 자격증 요약 1. 데이터 모델링의 이해 (0) | 2022.09.05 |
댓글