본문 바로가기
공부는 평생하는 것이다/SQLP(D)

[SQLD/SQLP] SQL 전문가 가이드 2020개정판 요약정리(과목Ⅱ)

by IT Daily Life 2022. 10. 12.
728x90
반응형

과목Ⅱ SQL 기본

제1장 SQL 기본

제1절 관계형 데이터베이스 개요

특정 데이터들의 집합에서 필요로 하는 데이터를 꺼내서 조회하고 새로운 데이터를 입력ㆍ수정ㆍ삭제하는 행위를 통해 사용자는 데이터베이스와 대화하게 된다. 그리고 SQL(Structured Query Language)은 이러한 대화를 가능하도록 매개 역할을 하는 것이다. SQL은 관계형 데이터베이스의 데이터 정의, 데이터 조작, 데이터 제어를 위해 사용하는 언어이다.

제2절 SELECT 문

SELECT문장을 사용해 데이터를 조회할 수 있다. 데이터 조회 시 산술연산자와 합성연산자를 사용해 데이터 간의 연산을 수행할 수 있다. 산술연산자는 NUMBER와 DATE 자료형에 대해 적용되며 (), *, /, +, - 의 우선순위를 가진다. 합성연산자는 문자와 문자를 연결하며, CONCAT(string1, string2) 함수를 사용할 수 있다.

제3절 함수

사용자는 벤더에서 제공하는 내장 함수(FUNCTION)을 통해 데이터 값을 간편하게 조작할 수 있다. 단일행 함수는 처리하는 데이터의 형식에 따라서 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수를 나눌 수 있다.

제4절 WHERE 절

WHERE 조건절에 제한을 두어 원하는 자료만을 조회할 수 있다. WHERE절에 사용하는 연산자는 비교 연산자, SQL 연산자, 논리 연산자, 부정 연산자가 있다.

제5절 GROUP BY, HAVING 절

집계함수(Aggregate Function)는 여러 행들이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수의 일부로서 COUNT, SUM, AVG, MAX, MIN 등이 있다. GROUP BY 절은 집합별 통계 정보의 기준을 명시하고, HAVING절에는 집합에 대한 제한 조건을 두어 조건을 만족하는 내용만 출력한다.

제6절 ORDER BY 절

ORDER BY 절은 조회된 자료를 원하는 컬럼 순으로 정렬하는 기능을 수행하고, SELECT 문장의 제일 마지막에 위치한다. SELECT 문장은 FROM 절, WHERE 절 GROUP BY 절, HAVING 절, SELECT 절, ORDER BY 절 순서로 실행된다.

제7절 조인

두 개 이상의 테이블들을 연결해 데이터를 출력하는 것을 조인(JOIN)이라고 하며, 전통적인 방식의 조인 문법에서는 WHERE 절에 조인 조건과 데이터 제한 조건을 함께 기술한다.

제8절 표준 조인

ANSI/ISO SQL에서 규정한 조인은 INNER JOIN, NATURAL JOIN, CROSS JOIN, OUTER JOIN의 조인 유형으로 분류할 수 있다. ANSI/ISO 표준 방식의 조인 문법에서 가장 두드러진 특징은 ON 조건 절 및 USING 조건 절을 사용해 조인 조건을 WHERE 절의 데이터 제한 조건으로부터 분리해 기술한다는 것이다.

제2장 SQL 활용

제1절 서브 쿼리

서브 쿼리란 하나의 메인 쿼리 안에 포함된 종속적인 SQL 문장을 말하는 것으로, 위치나 기능에 따라 NESTED SUBQUERY, INLINE VIEW, SCALAR SUBQUERY로 구분할 수 있다.

제2절 집합 연산자

집합 연산자는 결과 집합 간의 연산을 통해 결합하는 방식을 사용한다. UNION 연산자와 UNION ALL 연산자는 개별 SQL문을 결과에 대해 합집합 연산을, INTERSECT 연산자는 교집합 연산을 EXCEPT/MINUS 연산자는 차집합을 수행한다. UNION ALL 연산자를 제외한 모든 집합 연산자는 최종 결과에서 중복된 행은 제외하고 출력한다.

제3절 그룹 함수

데이터 분석을 위한 GROUP FUNCTION 으로는 소그룹 간의 소계를 계산하는 ROLLUP 함수, GROUP BY 항목들 간의 다차원적인 소계를 계산할 수 있는 CUBE 함수, 특정 항목에 대한 소계를 계산하는 GROUPING SETS 함수가 있다.

제4절 윈도우 함수

데이터 분석을 위한 WINDOW FUNCTION 은 부분적이나마 행과 행간의 관계를 쉽게 정의하기 위해 만든 함수다. WINDOW FUNCTION을 이용한 순위(RANK) 관련 함수는 RANK, DENSE_RANK, ROW_NUMBER가 있으며, 그외 그룹 내 집계(AGGREGATE)관련 함수, 그룹 내 비율 관련 함수 등이 있다.

제5절 Top N 쿼리

Top-N 쿼리는 말 그대로 상위(Top) N개의 행을 조회하는 쿼리다. Oracle은 ROWNUM 슈도 컬럼, SQL Server는 TOP 절을 사용할 수 있다. Oracle은 12.1버전, SQL Server는 2012 버전부터 ROW LIMITING 절로 Top N 쿼리를 작성할 수 있다.

제6절 계층형 질의와 셀프 조인

테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의(HIERARCHICAL QUERY)를 사용한다. 셀프 조인(SELF JOIN)이란 동일 테이블 사이의 조인을 말하며, FROM 절에 동일 테이블이 두 번 이상 나타난다.

제7절 PIVOT절과 UNPIVOT 절

PIVOT 은 회전시킨다는 의미다. PIVOT 절은 행을 열로 회전시키고 UNPIVOT 절은 열을 행으로 회전시킨다. PIVOT 절은 CASE 표현식과 GROUP BY 절, UNPIVOT 절은 행 복제를 사용해 수행할 수도 있다.

제8절 정규 표현식

정규 표현식 (Regular Expression)은 문자열의 규칙을 표현하는 검색 패턴으로 주로 문자열 검색과 치환에 사용된다. REGEXP_LIKE 조건과 REGEXP_REPLACE함수, REGEXP_SUBSTR 함수, REGEXP_INSTR 함수, REGEXP_COUNT 함수를 사용할 수 있다.

제3장 관리 구문

제1절 DML

DML(Data Manipulation Language)문을 사용하면 테이블에 데이터를 입력, 수정, 삭제할 수 있다. INSERT 문을 사용해 데이터를 입력할 수 있으며, UPDATE 문으로 데이터를 다른 값으로 수정할 수 있다. DELETE 문은 테이블에 저장된 데이터를 삭제할 때 사용한다. 또한 MERGE 문을 사용하면 새로운 행을 입력하거나 기존 행을 수정하는 작업을 한 번에 할 수 있다.

제2절 TCL

TCL(Transaction Control Language) 문을 사용하면 데이터베이스의 논리적 연산 단위인 트랜잭션을 제어할 수 있다. 올바르게 반영된 데이터를 데이터베이스에 반영시키는 커밋 (COMMIT) 명령어, 데이터를 트랜잭션 시작 이전의 상태로 되돌리는 롤백(ROLLBACK) 명령어, 트랜잭션의 일부만 취소할 수 있게 만드는 저장점 (SAVEPOINT) 명령어가 있다.

제3절 DDL

DDL(Data Definition Language) 문을 사용하면 테이블을 포함한 데이터베이스 객체의 구조를 정의할 수 있다. CREATE TABLE, ALTER TABLE, DROP TABLE 등의 명령어를 통해 테이블 구조를 생성하거나 수정, 삭제한다. 또한 PRIMARY KEY, UNIQUE, NOT NULL, CHECK, FOREIGN KEY 제약조건을 정의해 컬럼의 데이터 무결성을 유지할 수 있다.

제4절 DCL

DCL(Data Control Language) 문을 사용하면 유저를 생성하거나 데이터베이스 권한을 제어할 수 있다. CREATE USER 문을 통해 새로운 사용자를 생성하고, DROP USER 문을 사용해 기존 사용자를 삭제한다. GRANT 문을 사용자에게 시스템 권한 및 객체 권한을 부여할 때 사용하며, REVOKE 문은 사용자로부터 부여된 권한을 회수할 때 사용한다.

728x90
반응형