Basic Join Part 1
Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 43번째.
지금까지 단일 테이블의 문제를 다루었습니다. 이제 여러 테이블을 처리하는 방법을 살펴보겠습니다.
다음과 같은 테이블들이 있다고 가정해 보겠습니다:
과목
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
강사
| 강사 ID | 이름 |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
각 과목에 대해 해당 강사의 이름을 함께 제시하는 것이 과제입니다.
이것을 달성하는 두 가지 방법이 있습니다. 각 옵션에 대해, 한 테이블의 각 행을 다른 테이블에 매칭합니다. 충족되어야 하는 조건을 확인하고, 조건이 충족되면 두 행을 하나로 결합합니다. 두 옵션 모두에 대한 원하는 결과:
| 과목 ID | 강사 이름 |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
옵션 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_idWHERE 대신 JOIN table ON condition을 사용합니다
이 join 유형은 inner join이라고도 합니다.
챌린지
쉬움사용 가능한 테이블 및 컬럼:
<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_id 및 grade를 하나의 테이블로 가져오는 쿼리를 작성하세요. 결과를 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)이라고 합니다.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns