📌SQL 문법 - SELECT 문 기본 구조

·2025년 4월 6일
0

💾 데이터 베이스

목록 보기
3/12
post-thumbnail

SQL에서 가장 많이 사용되는 문법, SELECT!
데이터를 "조회"하는 데 필수적인 SELECT 문을 완벽히 이해하면 데이터베이스의 절반은 끝났다고 할 수 있어요.
이번 글에서는 SELECT 문 구조, 절별 의미, 자주 쓰는 조건들과 실전 예제까지 깔끔하게 정리해봅니다.

🧾 SELECT 문 기본 구조

SELECT [컬럼명 | *]
FROM 테이블명
WHERE 조건
GROUP BY 그룹 기준
HAVING 그룹 조건
ORDER BY 정렬 기준 [ASC|DESC];
  • 필수: SELECT, FROM
  • 선택: WHERE, GROUP BY, HAVING, ORDER BY

각 절의 역할

설명예시
SELECT어떤 열(column)을 가져올지 지정SELECT name, price
FROM데이터를 가져올 테이블 지정FROM Book
WHERE조건에 맞는 행(row)만 필터링WHERE price > 10000
GROUP BY특정 컬럼으로 그룹핑GROUP BY publisher
HAVING그룹핑된 결과에 조건 추가HAVING COUNT(*) > 2
ORDER BY결과 정렬 (기본: 오름차순, DESC: 내림차순)ORDER BY price DESC

🟢 SELECT - 기본 조회

* 는 모든 컬럼을 조회

SELECT * FROM Book;

필요한 컬럼만 선택

SELECT bookname, price FROM Book;

🟡 WHERE - 조건 지정

WHERE 절은 조건에 맞는 행(row) 만 걸러낼 때 사용합니다.
SQL에서 데이터를 필터링할 때 가장 기본이 되는 절입니다.

SELECT * FROM Book
WHERE price > 10000;

✅ 자주 사용되는 WHERE 조건 연산자

연산자의미예시 예문
=같다publisher = '굿스포츠'
<> 또는 !=같지 않다price <> 20000
>초과price > 15000
<미만price < 15000
>=이상price >= 10000
<=이하price <= 20000
BETWEEN A AND BA 이상 B 이하의 범위price BETWEEN 10000 AND 20000
IN (...)괄호 안 목록에 포함publisher IN ('A출판사', 'B출판사')
NOT IN (...)괄호 안 목록에 미포함publisher NOT IN ('굿스포츠', '대한미디어')
LIKE문자열 패턴 일치 (부분 검색)bookname LIKE '%스포츠%'
IS NULL값이 NULL 인 경우discount IS NULL
IS NOT NULL값이 NULL이 아닌 경우discount IS NOT NULL

🧪 WHERE 절 복합 조건 예시

여러 조건을 조합할 땐 AND, OR, NOT을 활용합니다.

-- 가격이 10000원 이상이면서 '대한미디어' 출판사의 책
SELECT * FROM Book
WHERE price >= 10000 AND publisher = '대한미디어';

-- '스포츠'를 제목에 포함하거나 15000원 이하인 책
SELECT * FROM Book
WHERE bookname LIKE '%스포츠%' OR price <= 15000;

🔵 ORDER BY - 정렬

ORDER BY 절은 조회 결과를 원하는 기준으로 정렬할 때 사용합니다.
정렬 기준이 없으면 테이블에 저장된 순서대로 출력될 수 있어요.

SELECT bookname, price
FROM Book
ORDER BY price;
  • 기본 정렬은 오름차순(ASC), 내림차순은 DESC를 사용

✅ 자주 사용하는 ORDER BY 구문 예시

구문의미예시 결과 설명
ORDER BY 컬럼명해당 컬럼 기준으로 오름차순 정렬 (기본 정렬)ORDER BY price → 가격 낮은 순
ORDER BY 컬럼명 ASC오름차순 정렬 명시ORDER BY bookname ASC → 도서명 가나다순
ORDER BY 컬럼명 DESC내림차순 정렬ORDER BY price DESC → 가격 높은 순
ORDER BY 컬럼1, 컬럼2첫 번째 컬럼 정렬 후, 동일 값은 두 번째 컬럼 기준ORDER BY publisher, price → 출판사별 가격순
ORDER BY 2 DESCSELECT 절의 두 번째 컬럼 기준 내림차순 정렬SELECT name, price ... ORDER BY 2 DESC

🧪 예제

-- 가격이 높은 순으로 도서 목록 조회
SELECT bookname, price
FROM Book
ORDER BY price DESC;

-- 출판사별로 정렬 후, 동일 출판사 내에서 가격 높은 순
SELECT bookname, publisher, price
FROM Book
ORDER BY publisher ASC, price DESC;

📌 참고:

ORDER BYSELECT 문의 가장 마지막에 위치
GROUP BY 와 함께 쓸 경우, 그룹핑 후 정렬

profile
안녕하세요! AI & 데이터분석을 전공하는 대학원생(석사 과정)입니다.

0개의 댓글