INNER JOIN

INNER JOIN

Inner join оставляет только те записи, ключ для которых одновременно присутствуют в обеих таблицах.

Давайте рассмотрим принцип работы INNER JOIN на примере таблиц учеников и оценок.

Выведем список оценок, предмет и имя ученика:

select
   sc.student_id,
   st.student,
   sc.subject,
   sc.score
from
   score_table as sc
inner join
   student_table as st on st.student_id = sc.student_id

student_id

subject

score

student 

1

SQL

5

Александр

2

Математика

4

Влад

3

Физ-ра

5

Сергей 

4

Математика 

3

Полина

5

SQL

3

Ксения

В таблице с оценками нет студента с student_id = 7, а в таблице студентов нет student_id = 6. Полное пересечение у таблиц происходит только для student_id от 1 до 5, поэтому и финальная таблица будет содержать данные только для student_id от 1 до 5. 

На практике многие не пишут INNER JOIN, а заменяют его просто JOIN.