Devin.KR

기본 · 전체 목차 공개

SQL 실전 기초

조회·필터·조인부터 데이터 변경과 트랜잭션까지. 서로 다른 DB의 문법 차이를 분리해 배웁니다.

읽기 전에

표와 행·열의 의미를 알고 있으면 시작할 수 있습니다.

공개 12/12장 · 목차 구성 2026-09-12

목차

현재 공개된 원고만 표시합니다. 읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. SQL SELECT 기본 문법 - 조회 처리 순서와 별칭 (SQL 초급 1단원)

    SELECT 문이 FROM·WHERE·GROUP BY·HAVING·SELECT·ORDER BY 순으로 처리되는 이유와 별칭 사용법을, 6단원까지 함께 쓸 사원·부서 실습 테이블로 익힌다.

  2. SQL WHERE 조건절 사용법 - 비교 연산자, BETWEEN, IN, LIKE, NULL (SQL 초급 2단원)

    WHERE 로 필요한 행만 남기는 법과, NULL 비교·NOT IN·암묵적 형변환처럼 조용히 결과를 망가뜨리는 함정을 실습 테이블로 확인한다.

  3. SQL ORDER BY 정렬과 페이징 - NULL 정렬 위치, LIMIT OFFSET FETCH (SQL 초급 3단원)

    ORDER BY 로 결과 순서를 확정하고 LIMIT·OFFSET·FETCH 로 페이징하는 법, NULL 정렬 위치의 DB별 차이와 OFFSET 페이징의 한계를 다룬다.

  4. SQL 데이터 타입과 제약조건 - PK, FK, UNIQUE, NOT NULL, CHECK 정리 (SQL 초급 4단원)

    숫자·문자·날짜 타입을 고르는 기준과 제약조건 다섯 가지의 역할을 정리하고, 금액을 FLOAT에 넣거나 CHECK가 무시되는 사고를 짚는다.

  5. SQL INSERT UPDATE DELETE 사용법 - 안전하게 데이터 변경하기 (SQL 초급 5단원)

    INSERT·UPDATE·DELETE 기본형과 트랜잭션 사용법, WHERE 없는 UPDATE를 구조적으로 막는 습관과 NULL 연산 함정을 정리한다.

  6. SQL 집계 함수와 GROUP BY - COUNT, SUM, AVG, HAVING 사용법 (SQL 초급 6단원)

    COUNT(*)와 COUNT(col)의 차이, GROUP BY로 그룹을 만드는 규칙, WHERE와 HAVING을 처리 순서로 구분하는 법을 실습 데이터로 확인한다.

  7. SQL JOIN 완전 정리 - INNER LEFT RIGHT FULL CROSS SELF와 카티전 곱 (SQL 중급 7단원)

    여섯 가지 조인이 각각 어떤 행을 남기는지 실습 데이터로 확인하고, LEFT JOIN이 INNER로 강등되는 사고와 1:N 조인 집계 부풀림을 짚는다.

  8. SQL 서브쿼리와 집합 연산 - EXISTS vs IN, UNION INTERSECT EXCEPT (SQL 중급 8단원)

    스칼라·인라인뷰·상관 서브쿼리를 쓰는 자리를 구분하고, NOT IN이 NULL 때문에 빈 결과를 내는 사고와 UNION 남용을 예제로 짚는다.

  9. SQL 인덱스와 실행계획 - B-Tree, 인덱스 못 타는 조건, EXPLAIN 읽는 법 (SQL 중급 9단원)

    B-Tree 인덱스가 통하는 조건과 복합 인덱스 컬럼 순서를 정리하고, MySQL·PostgreSQL EXPLAIN 출력에서 풀 스캔과 정렬을 찾아내는 법을 다룬다.

  10. SQL 윈도우 함수와 CTE - ROW_NUMBER RANK SUM OVER, WITH 절 (SQL 중급 10단원)

    순위 함수와 OVER 절 프레임으로 누적합을 만들고, WITH 절과 재귀 CTE로 조직도를 펼치면서 기본 프레임 함정까지 확인한다.

  11. SQL 트랜잭션과 격리수준 - ACID, 격리수준별 이상현상과 데드락 (SQL 중급 11단원)

    세션 두 개로 Dirty Read와 데드락을 직접 재현하면서 격리수준의 대가를 확인하고, 갱신 손실과 롱 트랜잭션 사고를 막는 방법을 정리한다.

  12. DB별 SQL 문법 차이 비교 - MySQL PostgreSQL Oracle SQL Server 페이징 UPSERT (SQL 중급 12단원)

    페이징·문자열·날짜·UPSERT·시퀀스를 네 DB 문법으로 나란히 비교하고, 빈 문자열과 정수 나눗셈처럼 이관 때 결과가 달라지는 지점을 짚는다.

이 책은 기존 Devin.KR 게시글을 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.