Tiny Star
[SQLD] 2과목 2장 SQL 활용 (6) 정규표현식
·
🪪자격증/SQLD
8. 정규표현식정규표현식기초 개념정규표현식은 문자와 기호를 조합하여 특정 패턴을 정의하는 방식문자, 숫자, 특수 문자 등이 특정한 규칙을 따라 조합되어 복잡한 검색 조건을 만듦정규표현식의 주요 구성 요소문자 클래스: 대괄호 [] 안에 여러 문자를 넣어 하나의 문자 집합을 정의[abc] : 'a', 'b', 'c' 중 하나의 문자[a-z] : 소문자 알파벳 중 하나의 문자[^abc] : 'a', 'b', 'c'를 제외한 모든 문자메타 문자: 특별한 의미를 가진 문자들. : 임의의 한 문자\d : 숫자\D : 숫자가 아닌 문자\w : 알파벳 문자나 숫자, 밑줄\W : 알파벳 문자나 숫자, 밑줄이 아닌 문자\s : 공백 문자\S : 공백 문자가 아닌 문자수량자: 특정 패턴이 반복되는 횟수 정의* : 0회 이상..
[SQLD] 2과목 2장 SQL 활용 (5) PIVOT 절과 UNPIVOT 절
·
🪪자격증/SQLD
7. PIVOT 절과 UNPIVOT 절PIVOT 절PIVOT 절의 기초 개념가로 기준의 행을 세로 기준의 칼럼으로 변환하는 개념테이블의 행을 칼럼으로 변환하여 데이터의 형태를 바꿈특정 칼럼의 고유 값을 새로운 칼럼으로 만들고, 그 칼럼에 해당하는 데이터를 집계할 수 있음PIVOT 절 형식SELECT 칼럼명FROM ( SELECT [피벗할 원본 칼럼] FROM [피벗할 원본 테이블] ) AS [원본 테이블 별칭]PIVOT ( 집계 함수( [집계할 칼럼] ) FOR [피벗 완료된 칼럼명] IN ( [피벗할 칼럼들의 값] ...) ) AS [피벗 테이블 별칭];PIVOT 연산을 수행할 때, PIVOT 안에서 집계되지 않는 칼럼은 자..
[SQLD] 2과목 2장 SQL 활용 (4) 셀프 조인과 계층형 질의
·
🪪자격증/SQLD
6. 셀프 조인과 계층형 질의셀프 조인(Self-Join)셀프 조인 기초 개념동일한 테이블을 두 번 이상 참조하여 서로 다른 별칭을 사용해 수행 => 테이블 내 행 간의 관계 조사동일한 하나의 테이블을 마치 서로 다른 두 개의 테이블인 것처럼 테이블의 별칭을 달리하여 쿼리 작성셀프 조인 예시SELECT e1.EMPNO AS EmployeeID , e1.ENAME AS Employee_Name , e2.EMPNO AS ManagerID , e2.ENAME AS Manager_NameFROM EMP e1 LEFT OUTER JOIN EMP e2 -- 동일한 테이블이지만 별칭을 달리하여 일반적인 조인 방식으로 셀프 조인 ON e1.MGR = e2.EMPNO; 계층형 질의(..
[SQLD] 2과목 2장 SQL 활용 (3) 윈도우 함수, Top N 쿼리
·
🪪자격증/SQLD
4. 윈도우 함수윈도우 함수의 개요윈도우 함수 기초 개념윈도우(WINDOW)는 '전체 데이터 중 특정 부분만 발췌해서 본다'라는 것에서 유래, 분석 함수라고도 불림칼럼을 기준으로 행의 데이터를 필터링하거나 조건값을 반환하는 전통적 개념과 달리 전체 데이터의 행들을 파티션으로 나눠 영역을 설정하고, 그 영역 안에서 행과 행 간의 관계를 쉽게 정의하기 위해 만들어짐관계형 데이터베이스 SQL의 단점(행과 행 간의 관계 정의 및 비교가 어려움)을 보완하기 위해 만들어짐윈도우 함수 종류순위 함수: ROW_NUMBER(), RANK(), DENSE_RANK()집계 함수: SUM(), AVG(), COUNT(), MAX(), MIN(), (집계 함수 + OVER)행 순서 관련 함수(오프셋 함수): LAG(n), LE..
[SQLD] 2과목 2장 SQL 활용 (2) 그룹 함수
·
🪪자격증/SQLD
3. 그룹 함수ROLLUPROLLUP 함수 기초 개념SQL에서 그룹화된 데이터의 다차원 집계를 생성하는 데 사용그룹화된 데이터의 다차원 집계: 다양한 수준의 데이터 요약을 한 번의 쿼리로 계산하는 방법주로 데이터 분석, 비즈니스 인텔리전스(BI)에서 사용GROUP BY 절과 함께 사용 => 지정된 칼럼에 대한 소계와 합계를 계산하여 계층 구조 형성계층 구조의 각 단계에서 소계(subtotal)와 전체 합계(grand total)를 계산다차원 분석과 데이터 요약에 유용ROLLUP 함수 형식과 원리SELECT DEPTNO , JOB , SUM(SAL) AS TOTAL_SALARYFROM EMPGROUP BY ROLLUP(DEPTNO, JOB)ORDER BY DEPTNO;GROUP B..
[SQLD] 2과목 2장 SQL 활용 (1) 서브쿼리, 집합 연산자
·
🪪자격증/SQLD
1. 서브쿼리서브쿼리 개요서브쿼리의 기초 개념쿼리(Query) = 하나의 명령 문장 = 메인쿼리서브쿼리 = 명령 문장 안에 또 다른 명령 문장이 독립적으로 실행되는 것 = 내부쿼리, 중첩쿼리복잡한 쿼리를 단순화, 특정 조건에 맞는 데이터를 필터링/계산할 때 사용메인쿼리와 구분 위해 괄호로 감싸며, 메인쿼리의 WHERE, FROM, SELECT 절 등에서 사용언제 서브쿼리를 사용하는가?WHERE 절에서 조건을 추가하고 싶을 때데이터를 좀 더 복잡한 조건으로 필터링하고 싶을 때원래 데이터에 존재하지 않는 계산된 칼럼을 생성하고 싶을 때 (SELECT 문에서 사용)DB에 테이블을 만들지 않고, 쿼리 안에서만 임시로 FROM 절에 테이블을 만들어 사용 (IN-LINE-VIEW)일부 작업은 서브쿼리가 조인보다 간..
[SQLD] 2과목 1장 SQL 기본 (3) JOIN
·
🪪자격증/SQLD
5. JOINJOIN 개요JOIN 기초 개념데이터를 서로 연결해서 볼 수 있는 방법두 개 이상의 테이블에서 관련된 데이터를 결합하여 새로운 결과 집합을 생성하는 과정JOIN의 기본 목적 : 테이블 간의 관계를 활용하여 필요한 정보를 효율적으로 검색하는 것JOIN은 반드시 식별자 관계만 가능한가?일반적으로 주식별자(PK)나 보조식별자(PK) 값의 연관에 의해 조인이 이루어짐하지만 식별자 관계없이 논리적인 값들의 연관만으로도 JOIN이 이루어질 수 있음데이터의 정합성을 보장할 수 없음조인 후 테이블의 행 수가 두 테이블을 합친 것보다 훨씬 더 늘어날 수 있음(낮은 카디널리티 => 결과 행 수가 급격히 증가, 데이터 폭발이 일어날 수 있음)고유하지 않은 정보로 연결할 경우 실제로는 관계 없는 데이터가 연결될 ..
[SQLD] 2과목 1장 SQL 기본 (2) WHERE절, GROUP BY 절, HAVING 절, ORDER BY 절
·
🪪자격증/SQLD
3. WHERE 절WHERE 절 개요WHERE 절 기초 개념SELECT 칼럼명 [ALIAS명]FROM 테이블명WHERE 조건절 ;SQL 쿼리에서 특정 조건을 만족하는 행만 선택하기 위해 사용 (데이터베이스에서 원하는 데이터를 필터링하는 데 필수적)WHERE 절 연산자 종류비교 연산자=, , >, =, 부정 비교 연산자!=, ^=, (표준 SQL) : 같지 않다(=의 부정)NOT [칼럼명] = : 칼럼명과 같지 않다.NOT [칼럼명] > : 칼럼명보다 크지 않다.SQL 연산자BETWEEN a AND b : a와 b 사이의 값IN (list) : list에 있는 값들 중 어느 하나라도 일치LIKE '비교문자열' : '비교문자열'과 일치하면 참(TRUE) → (%, _ 사용)IS NULL : ..
[SQLD] 2과목 1장 SQL 기본 (1) SELECT문, 함수
·
🪪자격증/SQLD
1. SELECT 문SELECT 문과 SELECT DISTINCTSELECTSELECT [ALL/DISTINCT] 대상 칼럼명1, 대상 칼럼명2, ...FROM 대상 칼럼들이 있는 테이블명;특정 테이블의 특정 칼럼 값을 조회하는 쿼리문ALL: 기본 옵션(별도 표시 안해도 OK), 중복된 데이터 모두 출력DISTINCT: 중복된 데이터를 1건만 출력*(asterisk, star): 조회 대상 칼럼을 지정X, FROM 절의 테이블의 모든 칼럼 조회 (SELECT * = select all)칼럼 혹은 테이블명에 별칭(ALIAS)을 사용하여 SELECTSELECT EMPNO AS 사원번호 , ENAME AS 사원이름FROM EMPORDER BY EMPNO; ALIAS는 칼럼이나 테이블에 임시 ..
[SQLD] 1과목 2장 데이터 모델과 SQL
·
🪪자격증/SQLD
1. 정규화정규화의 개념정규화의 정의결정자에 의해 함수적 종속을 가지고 있는 일반 속성을 의존자로 하여 입력/수정/삭제 이상 현상을 제거하는 것정규화의 필요성데이터 중복을 줄이고 데이터를 구조화 => 데이터의 일관성, 무결성 보장테이블을 더 작고 관리하기 쉬운 여러 테이블로 분리 => 추가/삭제/수정 시 이상 현상(Anomalies) 방지 정규화의 형태제1정규형(NF)기본 명제: 속성은 하나의 값만 가져야 하며 테이블에 중복된 데이터가 없어야 한다. (하나의 칼럼에는 하나의 값만)유사한 속성이 반복되지 않도록 엔터티(테이블)를 분리하는 것제2정규형(2NF)모든 일반 속성이 모든 식별자 전체에 완전 함수적으로 종속해야 한다.종속 = 특정 값이 무엇에 의해 결정되는지를 나타냄함수 종속성(Functional ..