KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

SQL

연결된 노트와 함께 읽기

SQL

2026년 8월 28일

SQL

  • SQL은 표(table) 를 다루는 쿼리 언어다.
  • 행(row)과 열(column)이 있고, 열의 타입과 개수가 미리 고정된다.
  • 프로젝트에서는 BigZAMi 제품 본체가 MariaDB를 쓰고, Spring이 JPA/MyBatis로 접근한다.

절 하나씩

절뜻예
SELECT어떤 열을 볼지SELECT id, name
FROM어느 표에서FROM users
WHERE행 필터WHERE status = 'ACTIVE' AND age >= 20
JOIN다른 표를 키로 이어 붙임JOIN
GROUP BY묶어서 집계GROUP BY category + COUNT(*)
HAVING집계 후 필터HAVING COUNT(*) > 3
ORDER BY정렬ORDER BY created_at DESC
LIMIT개수 제한LIMIT 20

관계형이 유일하게 잘하는 두 가지

  • JOIN — 중복 없이 여러 표로 쪼개 두고(정규화) 질의 시점에 이어 붙인다.
  • 트랜잭션(ACID) — 여러 변경을 "전부 되거나 전부 안 되거나"로 묶는다.

이 둘이 필요 없으면 굳이 관계형일 이유가 약해진다.

실무 경계

AI Agent 파이썬 코드는 MariaDB에 직접 붙지 않는다. 필요한 값은 gRPC로 Spring이 넘겨준다. 경계를 넘으면 두 시스템이 같은 표를 서로 다른 규칙으로 쓰게 된다.

한 줄 정리

SQL은 타입이 고정된 표에 조건·조인·집계를 선언하는 언어다.

문법 노트

주제노트
조회문 전체 골격SELECT 문법
조건식 · LIKE · 인덱스WHERE와 조건식
NULL의 3값 논리NULL과 3값 논리
집계와 HAVINGGROUP BY와 집계 함수
쿼리 안의 쿼리서브쿼리
WITH · 순위 · 누적CTE와 윈도우 함수
삽입·갱신·삭제·upsertINSERT UPDATE DELETE
테이블·제약조건·인덱스 DDLDDL과 제약조건
실행 계획 진단MySQL EXPLAIN 읽기
Mongo와 나란히 보기SQL ↔ MongoDB 문법 대조표

관련

  • SQL 실행 순서
  • JOIN
  • 트랜잭션(ACID)
  • RDBMS vs Document DB
  • 인덱스(Index)

Synapse Map Insight