2025/04/15 5

#23 DML

목차DML(Data Manipulation Language)DML은 데이터를 "조회하고, 추가하고, 수정하고, 삭제"하는 데 사용하는 SQL 명령어야.즉, 테이블 안의 데이터를 조작하는 모든 작업을 담당한다. 📌 DML 종류명령어설명SELECT테이블에서 데이터 조회INSERT새 데이터 삽입UPDATE기존 데이터를 수정DELETE기존 데이터를 삭제MERGE존재하면 UPDATE, 없으면 INSERT (조건부 조작)사실 DML에 CALL, EXPLAIN PLAN, LOCK TABLE도 있다...SELECT - 데이터 조회모두가 처음 DB를 배울 때 가장 쉽게 이해가 가능한 DML이다..SELECT: 조회할 컬럼 지정FROM: 테이블 지정WHERE: 조건ORDER BY: 정렬 기준INSERT - 데이터 삽입..

SQL/SQLD 2025.04.15

#22 계층 쿼리

목차계층 쿼리란계층 쿼리는 자기 자신을 부모/자식으로 참조하는 트리 구조를 탐색할 때 사용하는 쿼리다.예를 들어 회사의 조직도(CEO → 팀장 → 사원), 댓글의 답글 구조, 분류체계 등**"상위-하위 관계를 가진 데이터"**에서 필수적으로 사용됨. employeesidnamepositionmanager_id1철수CEONULL2영희CTO13민수팀장24지수대리35나리사원4 manager_id가 NULL이면 최상위 (CEO)각 직원은 manager_id를 통해 상사를 참조함LEVEL현재의 DEPTH를 반환한다. 루트 노드는 1이 된다.SYS_CONNECT_BY_PATH (컬럼, 구분자)루트 노드부터 현재 노드까지의 경로를 출력해주는 함수이다.START WITH경로가 시작되는 루트 노드를 생성해주는 절이다.C..

SQL/SQLD 2025.04.15

#21 셀프 조인(Self Join)

목차Self Join셀프 조인은 말 그대로 나 자신과의 조인이다라고 할 수 있다. 조금 더 다르게 말하면...**셀프 조인(Self Join)**은 하나의 테이블을 자기 자신과 조인하는 방식이다.같은 테이블 내에서 행들끼리의 관계(예: 부모-자식, 멘토-멘티, 선배-후배 등)를 표현할 때 사용한다. students 테이블idnameclassmentor_id1철수1NULL2영희113민수214지수225나리33mentor_id는 멘토의 id를 가리킴학생과 학생(같은 테이블) 간의 관계를 나타냄멘토-멘티 관계 구하기SELECT mentee.name AS 멘티, mentor.name AS 멘토FROM students menteeJOIN students mentor ON mentee.mentor_id ..

카테고리 없음 2025.04.15

#20 Top-N 쿼리

목차정해진 개수의 상위 N개 행만 조회하는 쿼리로, 실무에서 매우 자주 사용이 된다. (예: 상위 5위, 최신 10건, 점수 Top 3 등).Top-N 쿼리Top-N 쿼리는 정렬된 결과 중 일정 개수(N개)만 추출하고 싶을 때 사용한다.DBMS마다 문법 차이는 있지만, 정렬 + 제한이라는 구조는 동일하다.-- 예제 쿼리 MySQL / PostgreSQLSELECT name, scoreFROM studentsORDER BY score DESCLIMIT 3;-- Oracle 구버전SELECT name, scoreFROM ( SELECT name, score FROM students ORDER BY score DESC)WHERE ROWNUM ✅ 기타 DBMS별 방식DBMS사용 문법 예시MySQLLIMI..

SQL/SQLD 2025.04.15

#19 윈도우 함수

목차✅ 윈도우 함수란?OVER 키워드와 함께 사용되는 함수로,그룹 함수와 비슷하지만 모든 행에 대해 값을 계산하면서도 다른 행들과의 관계를 고려할 수 있는 함수이다.GROUP BY 없이도 그룹 내 집계, 순위, 누적 계산 등을 가능하게 해준다. SELECT 컬럼1, 윈도우_함수(컬럼2) OVER ( PARTITION BY 컬럼3 ORDER BY 컬럼4 ROWS BETWEEN ... -- 윈도우 프레임 ) AS 별칭FROM 테이블명; 윈도우 함수: SUM, AVG, RANK, ROW_NUMBER, LAG, LEAD 등OVER 절: 윈도우 함수의 범위를 지정PARTITION BY: 데이터를 그룹화ORDER BY: 정렬 기준ROWS BETWEEN: 윈도우 프레임을 지정 윈도우 함수 ..

SQL/SQLD 2025.04.15
728x90