면접에서 물어보는 SQL 쿼리

발행: (2026년 3월 8일 PM 03:14 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

마스터 SQL 인터뷰 패턴

거의 모든 쿼리는 다음과 같은 사고 흐름을 따릅니다:

SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT

Mnemonic: “스마트한 친구들은 점심에 초록 모자를 쓴다.”

  • S → SELECT (컬럼 / SUM, COUNT, AVG 같은 함수)
  • F → FROM
  • W → WHERE
  • G → GROUP BY
  • H → HAVING
  • O → ORDER BY
  • L → LIMIT

대부분의 면접 쿼리는 이 파이프라인의 변형입니다.

1️⃣ N번째 높은 급여

Pattern: ORDER BY column DESCLIMIT N

SELECT *
FROM employees
ORDER BY salary DESC
LIMIT 3;

Memory trick: 순위 매기기 → ORDER BY + LIMIT

3️⃣ 중복 이름

Pattern: GROUP BY columnHAVING COUNT(*) > 1

SELECT name, COUNT(*)
FROM employees
GROUP BY name
HAVING COUNT(*) > 1;

Memory trick: 중복 감지 → GROUP BY + HAVING

7️⃣ “A”로 시작하는 이름

Pattern: WHERE 조건

WHERE name LIKE 'A%';
WHERE salary BETWEEN 10000 AND 50000;

Memory trick: 필터링 → WHERE

8️⃣ 부서별 직원 수

Pattern: SELECT COUNT(*)FROM tableWHERE condition

SELECT COUNT(*)
FROM employees
WHERE department_name = 'ABC';

Memory trick: 카운팅 → COUNT + WHERE

5️⃣ 빈 테이블 만들기 (구조 복사)

Pattern: SELECT * INTO new_table FROM old_table WHERE 1=0

SELECT *
INTO new_table
FROM old_table
WHERE 1 = 0;

Memory trick: 구조 복사 → WHERE FALSE

13️⃣ 관리자 아래 직원 (조인)

Pattern: SELECT columns FROM table1 JOIN table2 ON condition

SELECT e.name, s.salary
FROM employees e
JOIN salaries s
  ON e.employee_id = s.employee_id;

Memory trick: 다중 테이블 → JOIN

19️⃣ UNION

Pattern:

SELECT ...
UNION
SELECT ...

Memory trick: 결과 결합 → UNION

15️⃣ 최근 8개월 내 채용된 직원

Pattern: WHERE date >= CURRENT_DATE - INTERVAL

WHERE hire_date >= CURDATE() - INTERVAL 8 MONTH;

Memory trick: 시간 필터링 → INTERVAL

패턴 요약

SQL 키워드용도
RankingORDER BY + LIMIT (예: 최고 급여)
Duplicate detectionGROUP BY + HAVING (중복)
FilteringWHERE (조건)
AggregationCOUNT / SUM (합계)
Table copySELECT INTO (구조)
Multi‑tableJOIN (관계)
Result mergeUNION (결합)

쿼리 구성 체크리스트

  1. 어떤 데이터?SELECT
  2. 어디서?FROM
  3. 필터가 있나요?WHERE
  4. 그룹화가 있나요?GROUP BY
  5. 그룹 필터가 있나요?HAVING
  6. 정렬이 있나요?ORDER BY
  7. 제한이 있나요?LIMIT

이 순서는 쿼리를 머리속에 재구성하는 데 도움이 됩니다.

FROGS‑HL 기억하기

  • F → FROM
  • R → WHERE (제한을 의미)
  • O → ORDER BY
  • G → GROUP BY
  • S → SELECT
  • H → HAVING
  • L → LIMIT

질문 카테고리 분포

카테고리
필터링6
순위 매기기4
집계3
조인3
중복2
테이블 복사2
집합 연산2
날짜 쿼리1

인사이트: 면접관은 가장 자주 필터링, 순위 매기기, 그리고 집계를 테스트합니다.

0 조회
Back to Blog

관련 글

더 보기 »

조인과 윈도우 함수 이해

조인(Join)은 관련된 컬럼을 기준으로 두 개 이상의 테이블에서 행을 결합할 수 있게 해줍니다. INNER JOIN은 두 테이블 모두에서 일치하는 값을 가진 행만 반환합니다.