Реляційні бази даних є стабільними для багатьох підприємств. Вони створюються за допомогою комп'ютерної мови, званої мова структурованих запитів (SQL). Якщо ви працюєте з реляційними базами даних, ви будете час від часу перевіряти або збирати дані, розташовані в декількох таблицях бази даних.
Що таке оператор SQL JOIN?
Оператор SQL JOIN дозволяє об'єднати дві або більше таблиць, зазвичай заснованих на зв'язаному стовпчику, щоб дані оброблялися так, як якщо б вони знаходилися в одній таблиці. Самі таблиці не змінюються з'єднанням.
SQL JOIN є гнучким і функціональним. Хоча існує декілька типів об'єднань, внутрішнє об'єднання є одним з найпростіших для розуміння і використання. Подивіться на наступні оператори SQL, які ілюструють, як об'єднати результати з трьох різних таблиць з використанням внутрішнього з'єднання.
Приклад внутрішнього з "єднання
Наприклад, візьміть таблиці, які містять водіїв в одній таблиці і збіги транспортних засобів у другій. Внутрішнє сполучення відбувається, коли автомобіль і водій перебувають в одному місті. Внутрішнє з'єднання вибирає всі рядки з обох таблиць, які містять збіг між стовпцями місця розташування.
Наведений нижче оператор SQL об'єднує дані з таблиць «Водії та транспортні засоби» в тих випадках, коли водій і транспортний засіб знаходяться в одному місті:
ВИБЕРІТЬ прізвище, ім'я, тег
ВІД водіїв, транспортних засобів,
ДЕ drivers.location = Vehicles.location
Цей запит дає такі результати:
Прізвище тега
---------------------- - Бейкер
Роланд H122JM
Смайт Майкл D824HA Сміт
Майкл P091YF
Джейкобс Авраам J291QR
Джейкобс Авраам L990MT
Тепер розширіть цей приклад, включивши в нього третю таблицю. Щоб включити тільки водіїв і транспортні засоби, присутні в місцях, відкритих у вихідні, додайте в запит третю таблицю, розширивши оператор JOIN наступним чином:
ВИБЕРІТЬ прізвище, ім "я, тег, open_weekends
ВІД водіїв, транспортних засобів, місць,
ДЕ drivers.location = Vehicles.location
AND Vehicles.location = location.location
AND location.open_weekends ='Так '
Цей запит дає такі результати:
Прізвище тега open_weekends
----------------------------------------
Бейкер Роланд H122JM да
Джейкобс Авраам J291QR да
Джейкобс Авраам L990MY да
Це потужне розширення базового оператора SQL JOIN об'єднує дані складним чином. Крім об'єднання таблиць з внутрішнім об'єднанням, цей метод об'єднує декілька таблиць з іншими типами об'єднань.
Інші типи з "єднань
Якщо таблиця має відповідний запис, внутрішні об'єднання - це шлях, але іноді одна таблиця не має зв'язаного запису для даних, на яких побудовано з'єднання, тому запит завершується помилкою. У цьому випадку потрібно зовнішнє об'єднання, яке включає результати, які існують в одній таблиці, але не мають відповідної відповідності в об'єднаній таблиці.
Крім того, ви можете використовувати інший тип з "єднання залежно від обставин. Ці інші типи об'єднань:
- Зовнішнє ліве з «єднання (ліве з» єднання): містить кожен запис з лівої таблиці, навіть якщо права таблиця не має відповідного запису.
- Праве зовнішнє з «єднання (праве з» єднання): повертає всю необхідну інформацію з правої таблиці, навіть якщо ліва таблиця не має відповідності.
- Повне об'єднання: вибирає всі записи з двох таблиць незалежно від того, чи мають вони відповідну умову з'єднання.
