4. SQL 기본 문법

박은서's avatar
Apr 24, 2026
4. SQL 기본 문법

1. SQL 기본 문법

1. SELECT 기본 개념

1) SELECT란?

  • 데이터를 조회(Read) 할 때 사용하는 명령어
  • 테이블에서 원하는 열(Column) 또는 행(Row) 을 추출

2) 기본 구조

SELECT 열이름 FROM 테이블명;

3) 실행 순서

FROMSELECT
  • FROM : 테이블을 먼저 읽음
  • SELECT : 필요한 열을 추출

4) 전체 열 조회

SELECT * FROM emp;
  • * : 모든 열 조회

2. WHERE절 (조건 검색)

1) 특정 행(Row) 추출

SELECTFROM 테이블 WHERE 조건;

2) 실행 순서

FROMWHERESELECT

3) 예시

SELECT * FROM emp WHERE empno = 7369;

3. 데이터 구조 확인

1) 테이블 구조 보기

DESC emp;
항목
의미
Null
NULL 허용 여부
Default
기본값

4. 별칭 (Alias)

1) 역할

  • 컬럼 이름을 일시적으로 변경

2) 문법

SELECT empno AS 사원번호 FROM emp;
※ 실제 컬럼명이 바뀌는 것이 아님 (조회 결과에서만 변경)

3) 허용 문법

SELECT empno 사원번호 FROM emp;
SELECT empno '사원번호' FROM emp;

5. DISTINCT (중복 제거)

SELECT DISTINCT job FROM emp;
  • 중복된 값 제거

6. 연결 연산자 (문자 합치기)

SELECT CONCAT(ename, '의 직업은 ', job) FROM emp;
별칭 추가 가능
SELECT CONCAT(ename, '의 직업은 ', job) AS 소개 FROM emp;

7. NULL 처리

1) NULL 특징

  • NULL + 숫자 = NULL
SELECT ename, comm + sal FROM emp;

2) IFNULL 함수

SELECT ename, IFNULL(comm, 0) FROM emp;
SELECT ename, IFNULL(comm, 0) FROM emp;

8. 조건 연산자 정리

1) = (같다)

SELECT * FROM emp WHERE ename = 'SMITH';
※ 문자열은 반드시 작은따옴표 사용

2) 날짜 검색

SELECT * FROM emp WHERE hiredate = '1980-12-17';
또는
WHERE hiredate = '1980/12/17';

3) NULL 검색

WHERE comm IS NULL;
WHERE comm IS NOT NULL;
= NULL
반드시 IS NULL 사용

9. 복합 조건

1) OR (조건 중 하나 만족)

SELECT * FROM emp WHERE sal=800 OR sal=1600;

2) IN (같은 컬럼 여러 값)

SELECT * FROM emp WHERE sal IN (800, 900);

3) AND (모두 만족)

SELECT * FROM emp WHERE sal = 800 AND deptno = 20;

4) BETWEEN (범위)

SELECT * FROM emp WHERE sal BETWEEN 800 AND 3000;
  • 800, 3000 포함 (이상 이하)
동일 표현:
WHERE sal>=800AND sal<=3000;

10. LIKE 연산자 (패턴 검색)

기호
의미
%
모든 문자
_
한 글자

1) S로 시작

WHERE ename LIKE 'S%';

2) T로 끝남

WHERE ename LIKE '%T';

3) M 포함

WHERE ename LIKE '%M%';

4) 세 번째 글자 N

WHERE ename LIKE '__N%';

11. 정렬 (ORDER BY)

📌 실행 순서

FROMWHERESELECTORDER BY

1) 오름차순 (ASC)

SELECT * FROM emp ORDER BY sal ASC;
※ ASC 생략 가능

2) 내림차순 (DESC)

SELECT * FROM emp ORDER BY sal DESC;

3) 다중 정렬

SELECT * FROM emp ORDER BY job ASC, sal DESC;
  • job 오름차순
  • job이 같으면 sal 내림차순

12. 실행 순서 중요 예제

1) 별칭 사용 가능 (ORDER BY)

SELECT sal*12AS ysal FROM emp ORDERBY ysalDESC;
✅ 가능
이유: SELECT 후 ORDER BY 실행

2) WHERE에서 별칭 사용 불가

SELECT sal*12AS ysal FROM emp WHERE ysal>500 ORDERBY ysalDESC;
❌ 오류 발생
이유:
FROMWHERESELECTORDER BY
WHERE 실행 시점에는 ysal이 아직 생성되지 않음

13. View 개념

  • 실제 디스크 데이터 변경 ❌
  • 가상의 테이블
  • SELECT 결과를 테이블처럼 저장해둔 것
Share article