Menu
Coddy logo textTech

Basic Join Part 1

Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 43번째.

지금까지 단일 테이블의 문제를 다루었습니다. 이제 여러 테이블을 처리하는 방법을 살펴보겠습니다.

다음과 같은 테이블들이 있다고 가정해 보겠습니다:

과목

course_idlecturer_id
11
21
32

강사

강사 ID이름
1Jhonas
2Malidos

각 과목에 대해 해당 강사의 이름을 함께 제시하는 것이 과제입니다.

이것을 달성하는 두 가지 방법이 있습니다. 각 옵션에 대해, 한 테이블의 각 행을 다른 테이블에 매칭합니다. 충족되어야 하는 조건을 확인하고, 조건이 충족되면 두 행을 하나로 결합합니다. 두 옵션 모두에 대한 원하는 결과:

과목 ID강사 이름
1Jhonas
2Jhonas
3Malidos

옵션 1:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

여기서는 FROM 키워드에 두 개의 테이블을 작성하고, WHERE 절에서 두 레코드의 lecturer_id가 동일해야 한다고 요청합니다. SELECT 절에서는 이제 table.column을 작성하여 데이터베이스가 해당 컬럼을 어디서 가져와야 할지 알 수 있게 합니다.

옵션 2:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_id

WHERE 대신 JOIN table ON condition을 사용합니다

이 join 유형은 inner join이라고도 합니다.

challenge icon

챌린지

쉬움

사용 가능한 테이블 및 컬럼:

  • <strong>grades</strong>: <strong>course_id</strong>, <strong>student_id</strong>, <strong>grade</strong>
  • <strong>students</strong>: <strong>id</strong>, <strong>name</strong>

student_name, course_id, student_idgrade를 하나의 테이블로 가져오는 쿼리를 작성하세요. 결과를 grade 기준으로 오름차순 정렬하세요.

치트 시트

여러 테이블의 데이터를 결합하려면 WHERE와 함께 쉼표 구문을 사용하거나 JOIN 구문을 사용하세요:

옵션 1: WHERE와 함께 쉼표 구문

SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.id = table2.id

옵션 2: JOIN 구문

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.id

여러 테이블에서 선택할 때 열이 어느 테이블에서 오는지 지정하기 위해 table.column 구문을 사용하세요. 이 유형의 조인은 내부 조인(inner join)이라고 합니다.

직접 해보기

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨