본문 바로가기
컴퓨터활용능력/1급 필기시험

SQL SELECT문 완전 정복! 초보도 이해하는 SELECT문 구조

by joocabin 2025. 6. 23.
728x90
반응형

SQL SELECT문 완전 정복! 초보도 이해하는 SELECT문 구조

SELECT문, 데이터베이스에서 가장 많이 쓰이는 명령어입니다.
SQL(Structured Query Language, 구조화 질의 언어)의 핵심 중의 핵심이죠.

이 글에서는 SELECT 문 기본 구조부터 WHERE, ORDER BY, GROUP BY, HAVING 절까지 실전 예제와 함께 확실히 정리해드립니다.

✅ SELECT문이란?

SELECT는 말 그대로 “선택하다”라는 뜻입니다.
하나 이상의 테이블로부터 데이터를 조회할 때 사용하는 SQL 문입니다.

- SQL은 대소문자를 구분하지 않습니다.
- 필드(열) 이름을 직접 나열하거나, *를 사용해 모든 필드를 선택할 수 있습니다.

예시:

SELECT * FROM 테이블명;

또는

SELECT 필드1, 필드2 FROM 테이블명;

✅ SELECT문의 기본 구조

SELECT [필드명 또는 *]
FROM [테이블명]
WHERE [조건]
ORDER BY [정렬 기준]
GROUP BY [그룹 기준]
HAVING [그룹 조건]

위 항목들은 상황에 따라 생략하거나 조합할 수 있습니다.

 

1-188

✅ DISTINCT — 중복 제거

DISTINCT는 “중복된 값은 한 번만 표시”하라는 의미입니다.

예시:

SELECT DISTINCT 부서명 FROM 사원;

같은 부서가 여러 명 있어도 부서명은 한 번만 출력됩니다.

✅ WHERE — 조건 지정

WHERE는 특정 조건에 맞는 레코드를 조회할 때 사용합니다.

예시:

SELECT 이름, 급여 FROM 사원
WHERE 급여 > 3000;

사용 가능한 연산자:

- 비교 연산자: =, <, >, <=, >=, <>
- 논리 연산자: AND, OR, NOT
- 특수 연산자: IN, LIKE 등

 

1-189
1-190

✅ ORDER BY — 정렬

ORDER BY는 조회 결과를 정렬할 때 사용합니다.

예시:

SELECT 이름, 입사일 FROM 사원
ORDER BY 입사일 ASC;

정렬 옵션:

- ASC: 오름차순 (기본값)
- DESC: 내림차순

예: ORDER BY 이름 DESC;

 

1-191

✅ GROUP BY — 그룹화

GROUP BY는 특정 필드를 기준으로 데이터를 묶어서 요약할 때 사용합니다.

예시:

SELECT 부서명, COUNT(*) FROM 사원
GROUP BY 부서명;

→ 부서별로 사원 수를 출력

✅ HAVING — 그룹 조건 지정

HAVINGGROUP BY 이후 조건을 지정할 때 사용합니다.
WHERE과 달리 집계 함수(SUM, COUNT, AVG 등)와 함께 사용됩니다.

예시:

SELECT 부서명, AVG(급여) FROM 사원
GROUP BY 부서명
HAVING AVG(급여) > 3000;

→ 급여 평균이 3000 이상인 부서만 출력

 

1-192

✅ SELECT문 정리

SELECT: 조회할 필드 지정
FROM: 데이터를 가져올 테이블
WHERE: 조건 지정
ORDER BY: 정렬 기준 지정
GROUP BY: 그룹화 기준 지정
HAVING: 그룹화된 데이터의 조건 지정
DISTINCT: 중복 제거

728x90
반응형