Типы соединений MySQL | MySQL присоединяется [с синтаксисом]

Опубликовано: 2020-12-09

Оглавление

Введение

MySQL — это система управления реляционными базами данных (RDBMS) с открытым исходным кодом, поддерживаемая Oracle. MySQL состоит из двух слов: «My», имени дочери соучредителя Майкла Видениуса, и «SQL», аббревиатуры от языка структурированных запросов.

Слово «реляционная» в СУБД является основой, на которой работают JOINS в MySQL. В любой базе данных может быть много типов и количества таблиц. JOINS, как следует из названия, связывает таблицы вместе, используя общие столбцы. Один из основных примеров: в таблице 1 указаны сведения о сотрудниках, а в таблице 2 — сведения о проекте.

Если нам нужно проверить проекты, в которых участвует сотрудник, мы можем присоединиться к таблицам по имени сотрудника или идентификатору сотрудника, следовательно, это приведет к объединению таблиц, и можно будет получить доступ к новой виртуальной таблице (можно сохранить) со всей необходимой информацией. .

Функции

  • MySQL - это Open-Source и правильная СУБД для доступа и управления записями таблиц.
  • Он поддерживает язык кодирования SQL, который очень распространен в области управления базами данных.
  • MySQL прост и удобен в использовании. У него огромное количество документации, если кто-то застрял в конкретной проблеме.
  • MySQL имеет очень сильный уровень безопасности. Пароли зашифрованы, поэтому конфиденциальные данные защищены от злоумышленников.
  • MySQL масштабируем, поскольку поддерживает многопоточность. Многопоточность отвечает за быстрое выполнение запросов и манипулирование данными, даже если таблица очень большого размера.
  • MySQL имеет клиент-серверную архитектуру. Существует сервер базы данных и множество клиентов (прикладных программ), которые подключены к серверу.

Типы соединений

Внутреннее соединение

Внутреннее соединение — это тип соединения по умолчанию в MySQL. Он объединяет и возвращает совпадающие записи из двух таблиц. Он сравнивает каждую строку одной таблицы с другой и проверяет условие соединения. Если условие выполнено, создается новая строка со столбцами из обеих таблиц, и эта новая строка включается в вывод.

Фрагмент кода:

ВЫБЕРИТЕ t1 . emp_id , t1.emp_name, t2.project_name

ОТ сотрудника как t1

Проект INNER JOIN как t2

ПО t1.project_id = t2 . project_id

В этом запросе есть две таблицы. Первая таблица состоит из сведений о сотрудниках, а вторая содержит все текущие проекты. После выполнения приведенного выше запроса MySQL вернет всех сотрудников с соответствующими сведениями о проекте. Здесь столбец project_id является внешним ключом в таблице сотрудников и первичным ключом в таблице проектов. Сотрудники без какого-либо project_id или project_id без какого-либо сотрудника не будут возвращены.

Левое соединение

Левое соединение объединяет и возвращает совпадающие записи из двух таблиц и несовпадающие записи из первой таблицы. Левое соединение по существу возвращает результат внутреннего соединения + несовпадающие записи из первой таблицы. Эти несопоставленные строки также будут иметь столбцы из таблицы 2, но значение в этих столбцах будет нулевым, поскольку для них нет соответствующих данных.

Фрагмент кода:

ВЫБЕРИТЕ t1 . emp_id , t1.emp_name, t2.project_name

ОТ сотрудника как t1

LEFT JOIN проект как t2

ПО t1.project_id = t2 . project_id

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

Чтение: переименовать имя столбца в SQL

Право присоединиться

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

Фрагмент кода:

ВЫБЕРИТЕ t1 . emp_id , t1.emp_name, t2.project_name

ОТ сотрудника как t1

ПРАВО ПРИСОЕДИНЯЙСЯ к проекту как t2

ПО t1.project_id = t2 . project_id

После выполнения приведенного выше запроса MySQL вернет всех сотрудников с соответствующими данными о проектах, а также сведения о проектах, в которых нет соответствующих сотрудников. В этих случаях столбцы сведений о сотруднике будут иметь значение NULL.

Полное присоединение

Как следует из названия, полное соединение возвращает все совпавшие и несопоставленные записи. Если MySQL сможет найти совпадающие строки в нужном столбце, эти записи будут сопоставлены. Остальные строки будут иметь значения NULL.

Фрагмент кода:

ВЫБЕРИТЕ *

ОТ сотрудника как t1

Проект FULL OUTER JOIN как t2

ПО t1.project_id = t2 . project_id

После выполнения приведенного выше запроса MySQL вернет всех сотрудников с соответствующими данными о проектах, а также сведения о сотрудниках, не имеющих проектов, и о проектах, в которых нет соответствующих сотрудников. Соответственно, некоторые столбцы будут иметь значения NULL.

перекрестное соединение

Как следует из названия, перекрестное соединение соединит каждую строку таблицы 1 с каждой строкой таблицы 2. Независимо от совпадающих столбцов. Следовательно, если в каждой таблице 5 записей, на выходе будет 25 строк, поскольку каждая строка сопоставляется с другой строкой.

Фрагмент кода:

ВЫБЕРИТЕ *

ОТ сотрудника как t1

Проект CROSS JOIN как t2

После выполнения приведенного выше запроса MySQL вернет всех сотрудников со всеми деталями проекта. Хотя нет особого смысла визуализировать эту информацию, но перекрестные соединения важны и нужны в некоторых особых и специфических случаях.

Читайте также: Вопросы и ответы на собеседовании по SQL

Запишитесь на курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Заключение

СОЕДИНЕНИЯ являются важной частью извлечения данных. Они помогают комбинировать данные из различных таблиц в соответствии с потребностями пользователя. Единственным недостатком JOINS может быть то, что иногда их сложно писать. В конце концов, СОЕДИНЕНИЯ очень полезны, и в MySQL могут быть реализованы различные типы соединений.

В целом, изучение и практическая работа со всеми базами данных, упомянутыми в этой статье, добавит вам опыта. Ознакомьтесь с обзором курса, обучением и возможностями трудоустройства, связанными с ним — такие платформы, как upGrad, предлагают мощные курсы, разработанные авторитетными институтами, такими как IIIT-B, в программе Full Stack Development для руководителей высшего звена.

Подготовьтесь к карьере будущего

Подать заявку на получение степени магистра в области разработки программного обеспечения