DATABASE · CHAPTER 02
기초 · 50분SQL 조회와 조인
필요한 행을 정확하게 꺼내기
WHERE·GROUP BY·JOIN의 목적을 구분하고 조회를 읽는다.
CONCEPTS
개념을 문장으로 설명하기
WHERE
개별 행을 조건으로 걸러내는 절입니다.
예시
WHERE grade >= 90은 점수 90점 이상 행만 남깁니다.
CHECK집계 결과 조건은 HAVING을 검토한다.
JOIN
관련된 열을 기준으로 여러 테이블의 행을 결합하는 연산입니다.
예시
Enrollment와 Student를 student_id로 JOIN해 이름과 점수를 함께 봅니다.
CHECKJOIN 조건이 빠지면 행이 폭증할 수 있다.
GROUP BY
같은 값을 가진 행을 묶어 COUNT·AVG 같은 집계를 계산합니다.
예시
과목별 평균 점수는 subject로 그룹을 만든 뒤 AVG(score)를 씁니다.
CHECK집계 전 행과 집계 후 그룹을 구분한다.
GUIDED PRACTICE
과목별 평균 점수
Enrollment(subject, score)에서 과목별 평균을 구합니다.
- subject가 같은 행끼리 GROUP BY subject로 묶습니다.
- 각 그룹의 score에 AVG를 적용합니다.
- 필요하다면 HAVING으로 평균 80점 이상 그룹만 남깁니다.
결론
WHERE는 행을 먼저 줄이고, GROUP BY는 남은 행을 그룹으로 바꾸며, HAVING은 그룹을 거릅니다.
ACTIVE RECALL · 4 STEPS
가리고, 말하고, 확인하기
읽기만 하지 말고 답을 떠올린 뒤 펼쳐 보세요.
01 · 정의 회상
“WHERE”을(를) 보지 않고 한 문장으로 정의해 보세요.
02 · 비교 설명
“JOIN”이(가) 필요한 상황을 예시와 함께 설명해 보세요.
03 · 핵심 점검
집계 전 행과 집계 후 그룹을 구분한다.
04 · 풀이 재현
“과목별 평균 점수”의 결론을 보기 전에 풀이 순서를 3단계로 다시 적어 보세요.
WORKBOOK · STEP BY STEP
개념 확인 문제
정답을 고르고 해설로 사고 과정을 확인하세요.
01
두 테이블의 관계 있는 행을 결합하는 SQL 연산은?
02
과목별 학생 수처럼 묶음 단위 계산에 필요한 절은?
03
집계 결과 평균이 80 이상인 그룹만 남기려면?
SPEAK IT OUT
면접 1분 답변 연습
WHERE와 HAVING의 차이, INNER JOIN과 LEFT JOIN을 언제 쓰는지 설명해 보세요.
답변할 때는 정의 → 이유 → 짧은 예시 순서로 말해 보세요.공식·표준 자료로 더 읽기
PostgreSQL · Queries원문 열기 ↗SELECT·조인·집계의 공식 SQL 문서입니다.