← К оглавлению занятия

Занятие 24. Summary session 6

📁 Блок: SQL / MySQL / Связи и JOIN ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение
#join #where #null #select #union

⚡ Кратко: повторение

  • Связи: 1:1, 1:N, M:N через ключи.
  • JOIN — по ключу; UNION — по строкам.
  • LEFT JOIN сохраняет левую таблицу целиком.

📖 Типы связей

ТипОписаниеПример
Один к одному (1:1) Каждой записи в одной таблице соответствует не более одной записи в другой. employees ↔ employee_details
Один ко многим (1:N) Одной записи соответствует несколько записей в другой таблице. customers → orders
Многие ко многим (M:N) Записям в обеих таблицах соответствует несколько записей друг друга. orders ↔ products через order_details

📖 Ключи

Первичный ключ (Primary Key)

  • Уникально идентифицирует строку.
  • Не допускает NULL.
  • Обычно неизменяем.

Внешний ключ (Foreign Key)

  • Связывает таблицу с первичным ключом другой таблицы.
  • Обеспечивает ссылочную целостность.

📖 ER-диаграмма

Графическое представление структуры базы данных:

  • Сущности — прямоугольники (таблицы).
  • Атрибуты — свойства сущностей (столбцы).
  • Связи — линии между сущностями с указанием типа.

📖 JOIN

ОператорРезультат
INNER JOINТолько совпадающие строки обеих таблиц.
LEFT JOINВсе строки левой таблицы + совпадения справа.
RIGHT JOINВсе строки правой таблицы + совпадения слева.
CROSS JOINДекартово произведение.
FULL JOINВсе строки обеих таблиц (не в MySQL).

📖 UNION и UNION ALL

  • Объединяют результаты нескольких SELECT.
  • Количество столбцов и типы должны совпадать.
  • UNION удаляет дубликаты; UNION ALL — нет.