topic★★★★★난이도 · 약 40분
SQL 기출 패턴 30선
컴활 2급 필기에서 반복 출제되는 SQL 패턴 30가지를 유형별로 정리.
#SQL#기출#패턴
왜 배우는가
SQL 5~6문항은 결국 같은 패턴의 변형이다. 30가지 패턴을 체화하면 SQL 만점이 가능.
아래는 기출에서 반복되는 핵심 패턴을 카테고리별로 정리한 것이다. 각 패턴의 SQL을 직접 손으로 써보는 것이 가장 효과적이다.
| # | 카테고리 | 패턴 | 핵심 구문 |
|---|---|---|---|
| 1 | 조건 | 특정 값 필터 | WHERE 컬럼 = 값 |
| 2 | 조건 | 범위 필터 | WHERE 컬럼 BETWEEN A AND B |
| 3 | 조건 | 목록 필터 | WHERE 컬럼 IN(값1, 값2) |
| 4 | 조건 | 패턴 매칭 | WHERE 컬럼 LIKE '패턴' |
| 5 | 조건 | NULL 판별 | WHERE 컬럼 IS NULL |
| 6 | 정렬 | 단일 정렬 | ORDER BY 컬럼 ASC/DESC |
| 7 | 정렬 | 복합 정렬 | ORDER BY 컬럼1 ASC, 컬럼2 DESC |
| 8 | 집계 | 전체 개수 | SELECT COUNT(*) |
| 9 | 집계 | 그룹별 합계 | GROUP BY + SUM() |
| 10 | 집계 | 그룹 필터 | GROUP BY + HAVING |
| # | 카테고리 | 패턴 | 핵심 구문 |
|---|---|---|---|
| 11 | JOIN | 내부 조인 | INNER JOIN ON |
| 12 | JOIN | 외부 조인 | LEFT/RIGHT JOIN ON |
| 13 | 서브쿼리 | WHERE절 서브쿼리 | WHERE 컬럼 > (SELECT ...) |
| 14 | 서브쿼리 | IN 서브쿼리 | WHERE 컬럼 IN (SELECT ...) |
| 15 | 서브쿼리 | EXISTS | WHERE EXISTS (SELECT ...) |
| 16 | DDL | 테이블 생성 | CREATE TABLE |
| 17 | DDL | 컬럼 추가 | ALTER TABLE ADD |
| 18 | DDL | 테이블 삭제 | DROP TABLE |
| 19 | DML | 삽입 | INSERT INTO VALUES |
| 20 | DML | 수정 | UPDATE SET WHERE |
| # | 카테고리 | 패턴 | 핵심 구문 |
|---|---|---|---|
| 21 | DML | 삭제 | DELETE FROM WHERE |
| 22 | 함수 | 문자열 자르기 | LEFT(), RIGHT(), MID() |
| 23 | 함수 | 반올림 | ROUND() |
| 24 | 함수 | 날짜 추출 | YEAR(), MONTH(), DAY() |
| 25 | 함수 | 조건 분기 | CASE WHEN THEN ELSE END |
| 26 | 기타 | DISTINCT | SELECT DISTINCT 컬럼 |
| 27 | 기타 | 별칭 | AS 별칭 |
| 28 | 기타 | TOP N | SELECT TOP N |
| 29 | 뷰 | 뷰 생성 | CREATE VIEW AS SELECT |
| 30 | 권한 | 권한 부여 | GRANT 권한 ON TO |
sql
-- 패턴 25: CASE WHEN
SELECT 이름,
CASE
WHEN 급여 >= 5000 THEN '고급'
WHEN 급여 >= 3000 THEN '중급'
ELSE '초급'
END AS 등급
FROM 직원;
-- 패턴 29: VIEW 생성
CREATE VIEW 영업팀뷰 AS
SELECT 이름, 급여
FROM 직원
WHERE 부서 = '영업';실기 드릴 3문항
database실기 드릴 · SQL 작성
직원 테이블에서 급여 상위 5명의 이름과 급여를 조회하시오.
database실기 드릴 · SQL 작성
직원 테이블에서 부서가 NULL인 사원의 이름을 조회하시오.
space_bar실기 드릴 · 빈칸 채우기
뷰(View)를 생성하는 SQL은 `CREATE (___) 뷰이름 AS SELECT ...` 이다.