Menu
Coddy logo textTech

기본 조인 1부

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

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

다음과 같은 tables가 있다고 가정해 봅시다:

courses

course_idlecturer_id
11
21
32

lecturers

lecturer_id이름
1Jhonas
2Malidos

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

이를 달성하는 방법은 두 가지입니다. 각 옵션에서는 한 테이블의 각 row를 다른 테이블의 row와 일치시킵니다. 충족되어야 하는 조건을 확인하고, 조건이 충족되면 두 row를 하나로 결합합니다. 두 옵션에서 원하는 결과는 다음과 같습니다.

course_idlecturer_name
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_idsame이어야 한다고 요청합니다. 이제 SELECT 절에 table.column을 작성하여 데이터베이스가 해당 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을 사용합니다

이 유형의 조인은 내부 조인이라고도 합니다.

challenge icon

챌린지

쉬움

사용 가능한 테이블과 열:

  • grades: course_id, student_id, grade
  • students: id, name

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

직접 해보기

-- 작업에서 요청한 열을 요청한 별칭을 사용하여 나열하세요
SELECT ____
FROM students, grades
-- 두 테이블이 같은 사람을 설명하는 행 쌍만 유지하세요
WHERE ____
ORDER BY grade
quiz icon실력 점검

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

기초의 모든 레슨

직접 연습해 보세요: SQL 플레이그라운드