데이터 공부기록

SQLD 정리 본문

자격증/SQLD

SQLD 정리

standingR 2023. 10. 17. 20:53

https://www.youtube.com/watch?v=PC3ypt_VGWI&t=29s

 

- 출처 : 김강민SQLP 유튜브 강의

 

 

 

 

 

 

모르는 개념 찾아보기

https://starrykss.tistory.com/1987

 

[SQLD] SQL개발자 단원별 내용 정리 & 실전 문제

SQL개발자(SQLD) 단원별 내용 정리 & 실전 문제 SQL개발자(SQLD) 자격증을 준비하면서 블로그에 올렸었던 글들을 한 페이지에 정리해본다. 개념 정리 인터넷 블로그, 교재 등을 보면서 정리했던 내용

starrykss.tistory.com

 

1. sql 명령문 개괄 

 

시험, 연산 순서 정렬하는 문제 

 

from - where -  group by - having -  select - order by

 

 

 

종류 쓰는 문제 

 

데이터 조작어 - (DML :  Data Manipulation Language)

-> select, insert, delete, update 

 

데이터 정의어-(DDL : Data Definition Language)

-> alter 바꾸다, create, modify, drop

 

트랜잭션 제어어- (TCL : Transaction Control Language)

-> rollback, commit 

 

데이터 제어어 - (DCL : Data Control Language) 

-> grant, revoke 

 

 

 

select 

 

 distinct(집약)

 

중복된 값들은 중복 제거(집약) = 원하는 정보를 집약

 

 X 

 

distinct deptno, mgr = group by (deptno, mgr)

 

 

 

as

 

 select 

 

1. as 생략 가능

 

2. 컬럼명에 띄어쓰기 

 

ex. 직원 번호> "직원 번호"

 

 from 

 

1. as 사용불가

 

 

 

concat 

 

- 연산자가 무슨 기호인가?

 

 + =  sql server 

 

 || = oracle

 

- 인수가 무조건 2개?

 

concat( , )

 

 

 

논리연산자

 

 and

 

 or 

 

 not 

 

- 의미 

 

 

 

- 연산순위 

 

1. not 

 

2. and 

 

3. or 

 

nao 

 

 

 

sql 연산자

 

 - between and

 

a between 1 and 2 = 1<= a <= 2  

 

 - in 

 

a in (1,2,3) 

 

a=1 or 2 or 3

 

 

 

- like 3문제 

 

와일드 카드에서 _ : 미지의 한 글자 

 

%: 0이상의 글자 

 

ex. '_l%'> 두번째 글자에 l 들어가는 사원들 다 고르는 것 

 

 

 

- escape 

 

와일드카드(_ %)를 문자로 취급하는 함수 

 

ex. like 'A_A' > 'A@_A'

 

EECAPE> '@'

 

// 와일드카드 앞에, @는 아무 문자 가능

 

 

 

- ROWNUM(ORACLE), TOP(SQL SERVER)

 

(WHERE) ROWNUM=1 포함 

 

(SELECT) TOP(N)(컬러명) 컬럼명 출력할 때 상위 N개 

 

- 시험,

 

SELECT EMPNO, SAL 

 

FROM EMP 

 

WHERE ROWNUM<= 3

 

ORDER BY SAL DESC> 가장 마지막에 실행

 

 

 

- NULL, 시험 5문제 

 

1. NULL의 정의 

 

부재, 모르는 값

 

2. NULL의 산술연산

 

= NULL

 

2. NULL의 비교연산

 

EX. NULL=NULL

 

NULL=2

 

> 알 수 없음(UNKNOWN)

 

> WHERE(조건=UNKNOWN)> "FALSE"

 

3. 정렬상의 의미 

 

오라클: 무한대 

 

SQL SERVER: 최소값, -무한대

 

4. 25:19

 

[NVL> 널뛰기, (값1. 값2)

 

NVL2 (1, 2, 3)

 

ISNULL] (1, 2)

 

[NULLIF]> 같이 놀자! (1, 2)

 

[COALESCE]> 널 아닌 첫번째 값 (1, 2 ~ 무한대)

 

 

 

정렬 4문제

 

1. 정렬의 정의, 특성

 

- 가장 마지막에 실행

 

- 성능이 느려질 가능성, 소팅 작업 

 

- 널값과의 관계 

 

2. 컬럼번호 정렬

 

*출력되는 컬럼의 수 보다 큰 값 불허 

 

3. 인수 두개 정렬 

 

SAL DESC, ENAME ASC

 

4. 출력되지 않는 컬럼명으로 정렬 가능 

 

SELECT ENAME 

 

ORDER BY SAL 

 

 

 

숫자 함수

 

1. ROUND 자릿수 

 

ROUND(138.94, 인수)

 

EX. 0.123~

 

// 반올림 함수 

 

2. CEIL ORACLE/ CEILING SQL SERVER

 

// 올림 함수

 

 

 

문자열 함수 

 

1. UPPER/ LOWER 대/ 소문자

 

2. LPAD, RPAD/ 공백 채우기, LTRIM, RTRIM/ 공백 제거

 

3. SUBSTR/ 문자 추출, INSTR/ 문자 위치  찾기 실습하기 

 

 

 

날짜 함수

 

1. TO_CHAR, TO_DATE 실습하기 

 

시험, 다음 중 데이터의 형 변환을 일으키는 함수?

 

2. SYSDATE(ORACLE)

 

GETDATE(SQL SERVER)

 

3. 날짜 데이터+100? 100일 이후 , DAY로 인식

 

 

 

DECODE/CASE 

 

CASE만 시험!

 

CASE 

 

 WHEN THEN 1

 

 WHEN THEN  2

 

ELSE 3/ ELSE 없을 때, 1, 2 만족X> NULL 

 

AND 

 

 

 

집계함수, 시험 2-3문제 

 

1. NULL 과의 관계

 

34:54

 

 SUM(A)// 열 계산, 널뛰기

 

 SUM(A+B+C)// 행 계산, NULL 연산

 

SUM(A)+SUM(B)+SUM(C) VS

 

SUM(A+B+C) 차이 기억

 

 

 

GROUP BY 

 

집약 기능, WHERE 다음에 실행, 그룹 수준으로 정보를 바꾼다

 

HAVING? 그룹에 대한 조건식

 

 

 

JOIN 

 

1. NATURAL JOIN 

 

USING -

 

> 중복된 컬럼 "하나"로 출력

 

> 제일 앞에 등장

 

> 테이블 ALIAS 사용 불가, 중요

 

2. LEFT, OUTER JOIN 

 

EX. A LEFT OUTER JOIN B

 

= A COL1(조인키) =B COL1(+)/ 반대

 

선행 테이블이 선행 조건절 앞에, 후행 테이블은 후행 조건절 뒤에 있을 경우

 

 

 

서브쿼리  

 

들어가는 위치 중요

 

SELCET SCALAR

 

FROM INLINE VIEW, 메인 쿼리의 컬럼 사용 가능

 

WHERE 거의 모든 서브쿼리 

 

GROUP BY X

 

HAVING 거의 모든 - > 중첩서브쿼리

 

ORDER BY SCALAR

 

2. 

 

SELECT

 

FROM A

 

WHERE SELECT 

 

FROM B COL

 

= A COL1

 

// A를 찾을 때 까지 = A COL1에 대입 

 

서브쿼리에는 값이 고정 COLL = A

 

3. 

 

IN 

 

ANY/ SOME 

 

ALL 

 

EXIST 존재하다

 

모든 문자 출력 가능> TRUE

 

(0ROWS)> FALSE

 

 

 

집합연산자 46:38

 

UNION 합집합

 

INTERSECT 교집합 

 

MIINUS(SQL SERVER> EXCEPT )

 

정렬 작업 존재, 느리다 

 

 

 

UNION ALL> 중복 데이터 존재 

 

정렬 작업X, 빠르다 

 

 

 

UNION과 UNION ALL의 비교 , 누가 빠르냐?

 

 

 

DDL

 

TCL과 연관지어 생각 

 

1. 

 

TRUNCATE VS DROP

 

입주민 퇴거/ 철거 

 

구조(로그 데이터, 이전 기억 정보)가 남음/ 구조 삭제

 

TRUNCATE VS DELETE 

 

> DDL VS DML

 

ROLLBACK, COMMIT

 

 

 

DML 

 

INSERT 

 

UPDATE 

 

DELETE 

 

1. TCL과 연관지어 출제 

 

2. INSERT 오류사항 

 

INSERT (인수 3개) VALUSE (인수 2개) 오류

 

MERGE

 

 

 

제약조건 

 

PK= UNIQUE+ NOT NULL

 

UNIQUE 

 

NOTNULL 

 

 

 

DCL 

 

GRANTE 

 

REVOKE

 

1. 정의 

 

2. ROLE 5가지 특징 

 

- 롤은 롤에게 부여 가능

 

- 사람에게 부여 가능, 

 

- 사람들은 같은 롤을 가질 수 있음

 

- 롤을 부여할려면 권한이 필요함

 

- 롤은 권한이 있는 사용자한테 만들어짐 

 

명령어가 아닌 객체 중 하나 

 

객체? 데이터베이스를 구성하는 물질들 

 

EX. 테이블, 인덱스, 뷰, 롤

 

3. 문법

 

ON TO 구문

 

 

 

VIEW 

 

독편보 

 

*독립성, 기존 테이블의 구조가 변경되면 뷰 구조도 같이 변경, 업데이트 필요 X

 

*편리성

 

*보안성

 

 

 

그룹함수

 

ROLL UP

 

CUBE 

 

GROUPINGSETS

 

(GROUPING)

 

시험, 결과값 주고 뭘 썻는지?, 세개 비교표

 

EX. ROLLUP(A, B)

 

ROLLUP(B, A) = 같은 결과X

 

CUBE(A, B) = 

 

- = 같은 결과

 

 

 

1. NULL 다 찾기

 

2. 총합행 찾기 

 

있으면 ROLL UP(행의 수가 적으면), CUBE(행의 수가 많으면)

 

없으면 GROUPINGSETS

 

기출문제 풀면서 연습

 

 

 

TCL 

 

COMMIT, ROLLBACK

 

SQL SERVER, AUTO COMMIT OFF AND BEGIN TRANSACTION> DDL COMMIT 기능 X

'자격증 > SQLD' 카테고리의 다른 글

[1-1]데이터 모델의 이해  (0) 2024.05.07