FULL JOIN

FULL JOIN

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

select
   student_id,
   st.student,
   sc.subject,
   sc.score
from
   score_table as sc
full 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

Ксения

6

null

null

Алексей

7

Английский 

2

null

Несмотря на то, что записи для student_id 6 и 7 есть не во всех таблицах, с помощью FULL JOIN мы можем вывести записи для абсолютно всех ключей.

Варианты использования FULL JOIN

  1. Поиск несоответствий в данных между таблицами
  2. Проверка целостности данных