Простые способы соединения трех таблиц в SQL (с изображениями)

Оглавление:

Простые способы соединения трех таблиц в SQL (с изображениями)
Простые способы соединения трех таблиц в SQL (с изображениями)

Видео: Простые способы соединения трех таблиц в SQL (с изображениями)

Видео: Простые способы соединения трех таблиц в SQL (с изображениями)
Видео: AutoHotkey для новичков с 0 на примерах 2024, Май
Anonim

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

Шаги

11227971 1
11227971 1

Шаг 1. Введите SELECT, а затем имена столбцов, которые вы хотите запросить

Введите имя столбца из каждого из трех, которые вы хотите запросить. Разделите имена столбцов запятыми. В этом примере мы будем запрашивать из трех таблиц с именами «Студенты», «Школы», «Подробности».

Например: SELECT student_id, student_name, school_id, school, grade

11227971 2
11227971 2

Шаг 2. Введите FROM, а затем имя первой таблицы

Это может быть отдельной строкой или сразу после первого оператора. В нашем примере мы бы набрали ОТ Студентов.

11227971 3
11227971 3

Шаг 3. Введите оператор соединения, за которым следует имя второй таблицы

Существует четыре типа операторов соединения, которые можно использовать для объединения двух таблиц. Вот они:

  • Введите JOIN, чтобы выполнить Внутреннее соединение. Это возвращает записи, которые имеют совпадающие значения в обеих таблицах. Например, ОТ студентов ПРИСОЕДИНЯЙТЕСЬ Подробнее.
  • Введите LEFT JOIN, чтобы выполнить Внешнее левое соединение. Это возвращает все записи из левой таблицы и соответствующие значения из правой таблицы. Например FROM Student LEFT JOIN Details.
  • Введите RIGHT JOIN, чтобы выполнить Внешнее правое соединение. Это возвращает все записи из правой таблицы и соответствующие значения из левой таблицы. Например ОТ СТУДЕНТОВ ПРАВО ПРИСОЕДИНЯЙТЕСЬ Подробности.
  • Введите FULL JOIN, чтобы выполнить Полное внешнее соединение. Это вернет все записи из обеих таблиц. Например, FROM Student FULL JOIN Details.
11227971 4
11227971 4

Шаг 4. Введите оператор «ON» для объединяемых таблиц и столбцов

Синтаксис этого оператора: «ON table_1.primary_key = table_2.foreign_key». «Таблица_1» - это имя первой таблицы, к которой вы присоединяетесь, а «primary_key» - имя основного столбца в первой таблице. «Таблица_2» - это имя второй таблицы, а «foreign_key» - имя столбца из второй таблицы, которое соответствует первичному столбцу из первой таблицы.

  • В нашем примере «Студенты» - это первая таблица, а «student_id» - это первичный ключ из таблицы «Студенты», которая также находится в таблице «Подробности». Таким образом, мы должны ввести ON Students.student_id = Details.student_id. Это объединяет таблицу "Студенты" с таблицей "Подробности", используя "student_id" в качестве первичного ключа.
  • В качестве альтернативы, если столбец student_name находится в таблице «Подробности», вы можете отобразить столбец student_name вместо поля student_id, набрав ON Students.student_id = Details.student_name.
11227971 5
11227971 5

Шаг 5. Введите оператор соединения и имя третьей таблицы

Это может быть в отдельной строке или сразу после оператора «ON», соединяющего первые две таблицы. Вы можете использовать любой из четырех операторов соединения.

В нашем примере мы должны ввести JOIN Schools

11227971 6
11227971 6

Шаг 6. Введите оператор «ON», который указывает, какие таблицы и столбцы будут объединены

Синтаксис третьего соединения: «ON table_3.primary_key = table_1.foreign_key». "Таблица 1". «Таблица_3 - это имя третьей таблицы. Это добавляет третью таблицу к окончательному объединению с использованием имени основного столбца из третьей таблицы и внешнего ключа из первой таблицы. В нашем примере это мы бы набрали ON Schools.student_id = Students.student_id. Весь оператор соединения должен выглядеть примерно так:

    ВЫБЕРИТЕ student_id, student_name, school_id, school, grade FROM Student FULL JOIN Details ON Students.student_id = Details.student_id ПРИСОЕДИНЯЙТЕСЬ к школам в Schools.student_id = Students.student_id

Рекомендуемые: