본문 바로가기
SMALL

🖊️Certificate40

[SQLD] 2과목 - 2장) 6절. 계층형 질의와 셀프 조인 2과목. SQL 기본 및 활용 2장. SQL 활용 6절. 계층형 질의 및 셀프 조인 # 계층형 질의 - 하나의 테이블 내 각 행끼리 관계를 가질 때, 연결고리를 통해 행 사이의 계층(depth)을 표현하는 기법 - PRIOR의 위치에 따라 연결하는 데이터가 달라짐 - 문법 SELECT FROM 테이블명 START WITH 시작조건 CONNECT BY PRIOR 연결조건; * START WITH: 데이터를 출력할 시작 지정하는 조건 * CONNECT BY PRIOR: 행을 이어나갈 조건 * 계층형 질의 가상 컬럼 - LEVEL: 각 DEPTH를 표현(시작점부터 1) - CONNECT_BY_ISLEAF: LEAF NODE(최하위노드) 여부(참:1, 거짓: 0) * 계층형 질의 가상 함수 - CONNECT_B.. 2024. 3. 7.
[SQLD] 2과목 - 2장) 5절. Top N 쿼리 2과목. SQL 기본 및 활용 2장. SQL 활용 5절. Top N 쿼리 # Top N 쿼리 - 페이징 처리를 효과적으로 수행하기 위해 사용 - 전체 결과에서 특정 N개 추출 # Top N 행 추출 방법 ① ROWNUM ② RANK ③ FETCH # ROWNUM - 출력된 데이터 기준으로 행 번호 부여 - 절대적인 행 번호가 아닌 가상의 번호이므로 특정 행을 지정할 수 없음(= 연산 불가) - 첫번째 행이 증가한 이후 할당되므로 ‘>’ 연산 사용 불가(0은 가능) # FETCH 행 - 출력될 행의 수를 제한하는 절 - Oracle 12C 이상부터 제공(그 전 번전에는 주로 ROWNUM 사용) - SQL-Server 사용 가능 - ORDER BY 절 뒤에 사용(내부 파싱 순서도 ORDER BY 뒤) - 문.. 2024. 3. 7.
[SQLD] 2과목 - 2장) 4절. 윈도우 함수 2과목. SQL 기본 및 활용 2장. SQL 활용 4절. 윈도우 함수 # 윈도우 함수(WINDOW FUNCTION) - 서로 다른 행의 비교나 연산을 위해 만든 함수 - GROUP BY 를 쓰지 않고 그룹 연산 가능 - LAG, LEAD, SUM, AVG, MIN, MAX, COUNT, RANK - 문법 SELECT 윈도우함수([대상]) OVER ([PARTITON BY 컬럼] [ORDER BY 컬럼 ASC | DESC] [ROWS | RANGE BETWEEN A AND B]); * PARTITION BY절: 출력할 총 데이터 수 변화 없이 그룹연산 수행할 GROUP BY 컬럼 * ORDER BY 절 ➢ RANK 의 경우 필수(정렬 컬럼 및 정렬 순서에 따라 순위 변화) ➢ SUM, AVG, MIN, M.. 2024. 3. 7.
[SQLD] 2과목 - 2장) 3절. 그룹 함수 2과목. SQL 기본 및 활용 2장. SQL 활용 3절. 그룹 함수 # 그룹 함수 - 숫자함수 중 여러값을 전달하여 하나의 요약값을 출력하는 다중행 함수 - 수학/통계 함수들(기술통계 함수) - GROUP BY 절에 의해 그룹별 연산 결과를 리턴 함 - 반드시 한 컬럼만 전달 - NULL 은 무시하고 연산 # COUNT - 행의 수를 세는 함수 - 대상 컬럼은 * 또는 단 하나의 컬럼만 전달 가능(* 사용 시 모든 컬럼의 값이 NULL일 때만 COUNT 제외) - 문자, 숫자, 날짜 컬럼 모두 전달 가능 - 행의 수를 세는 경우 NOT NULL 컬럼을 찾아 세는 것이 좋음(PK 컬럼) - 문법 COUNT(대상) # SUM - 총 합 출력 - 숫자 컬럼만 전달 가능 - 문법 AVG(대상) # VARIANC.. 2024. 3. 7.
[SQLD] 2과목 - 2장) 2절. 집합 연산자 2과목. SQL 기본 및 활용 2장. SQL 활용 2절. 집합 연산자 # 집합 연산자 - SELECT 문 결과를 하나의 집합으로 간주, 그 집합에 대한 합집합, 교집합, 차집합 연산 - SELECT 문과 SELECT 문 사이에 집합 연산자 정의 - 두 집합의 컬럼이 동일하게 구성되어야 함(각 컬럼의 데이터 타입과 순서 일치 필요) - 전체 집합의 데이터 타입과 컬럼명은 첫번째 집합에 의해 결정됨 # 합집합 - 두 집합의 총 합(전체) 출력 - UNION 과 UNION ALL 사용 가능 - UNION · 중복된 데이터는 한 번만 출력 · 중복된 데이터를 제거하기 위해 내부적으로 정렬 수행 · 중복된 데이터가 없을 경우는 UNION 사용 대신 UNION ALL 사용(불필요한 정렬 발생할 수 있음 - UNIO.. 2024. 3. 7.
[SQLD] 2과목 - 2장) 1절. 서브 쿼리 2과목. SQL 기본 및 활용 2장. SQL 활용 1절. 서브 쿼리 # 서브쿼리 - 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL 문을 말함 - 반드시 괄호로 묶어야 함 ex) SELECT 안에 SELECT문, INSERT/UPDATE/DELETE 안에 SELECT문 # 서브쿼리 사용 가능한 곳 ① SELECT 절 ② FROM 절 ③ WHERE 절 ④ HAVING 절 ⑤ ORDER BY 절 ⑥ DML(INSERT, DELETE, UPDATE)절 * GROUP BY 절은 사용 X # 서브 쿼리 종류 ① 동작하는 방식에 따라 - UN-CORRELATED(비연관) 서브쿼리 · 서브쿼리가 메인쿼리 컬럼을 가지고 있지 않은 형태의 서브쿼리 · 메인쿼리에 서브쿼리가 실행된 결과 값을 제공하기 위한 목적으로 .. 2024. 3. 7.