본문 바로가기
SQLD 자격증

SQLD 개발자 자격증 요약 3. SQL 기본

by atheglance 2022. 9. 5.

SQLD 개발자 자격증 요약 정리

 

 

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
: AB 사이
 
LIKE ‘비교 문자열
: 비교 문자열을 포함
 
IN (LIST)
: LIST 중 하나와 일치
 
IS NULL: NULL
NOT BETWEEN A AND B
: AB의 사이가 아님
 
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)

이라고도 한다.

댓글