Вступ до внутрішньої приєднання до Oracle

Клаузи приєднання використовуються в базі даних oracle для доступу до даних з декількох таблиць для отримання інформації. У базі даних oracle є різні типи об'єднань.

Внутрішнє з'єднання - це один із типів об'єднання в базі даних oracle. Внутрішнє з'єднання, з'єднайте декілька таблиць і поверніть ті рядки, для яких умовою приєднання є або є істинними. Внутрішнє з'єднання також відоме як просте з'єднання. Внутрішнє з'єднання є найпоширенішим приєднанням серед типів приєднання.

Синтаксис внутрішнього з'єднання

SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;

Внутрішнє візуальне зображення з'єднання представлене на діаграмі нижче, як на нижній діаграмі повернення затіненої області в результаті внутрішнього з'єднання Oracle

Oracle Inner Join повертає пересічні записи t1 і t2 як результат.

Приклади запитів для внутрішньої приєднання

Давайте детально розберемо внутрішнє з'єднання за допомогою деяких прикладів запитів:

Приклад №1

Приклад запиту для Inner Join

SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee
INNER JOIN department
ON employee.employee _id = department.employee _id;

Наведений вище приклад Oracle INNER JOIN поверне всі рядки з таблиці службовців та таблиці відділу, де співпадає значення _id працівника як із таблицею працівника, так і з таблицею відділу.

Ми розглянемо тут схему hr, яка є зразком схем бази даних oracle. Схема hr містить таблиці КРАЇНИ, РОБОТОДАВЦІВ, ДЕПАРТАМЕНТІВ, РОБОТА ІСТОРІЯ, РОБОТИ, МІСЦЕВОСТІ, РЕГІОНИ, в яких ми зацікавлені або вимагаємо таблиць РОБОТОДІВ, ДЕПАРТАМЕНТІВ та МІСЦЕВОСТІ.

Опис цих таблиць -

Стіл ПРАЦІВНИКІВ

СТАНДАРТИ

Таблиця МІСЦЕВІСТЬ

Приклад №2

Приклад внутрішнього з'єднання для двох таблиць

Тут ми хотіли б отримати дані з двох таблиць ПРАЦІВНИКІВ та ДЕПАРТАМЕНТІВ. Тут ми пишемо запит, щоб отримати ідентифікацію працівника та ім'я працівника зі столу працівника, а ім'я відділу - зі столу відділу -

SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;

Вихід

Іменам стовпців із таблицею передує пункт Oracle SELECT. Якщо стовпець є загальним для обох таблиць, то для наочності ім'я стовпця повинно бути встановлено з назвою таблиці. Таблиці, з яких слід отримати дані, вкажіть у пункті from з розділеними комами. У пункті WHERE вкажіть умову приєднання. Співвідношення між співробітниками та таблицями відділів визначається значеннями у загальному стовпчику найменців_обігів у обох таблицях повинно бути рівним, і це відношення позначається як приєднання Equi. У цьому відношенні задіяні зазвичай первинний та зовнішній ключі.

Приклад №3

Приклад внутрішнього приєднання двох таблиць з Псевдонімами

Перепишемо вищенаведений приклад, використовуючи табличні псевдоніми як -

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id;

Вихід

Як і у вищезазначеному запиті, псевдоніми таблиць створюються в пункті від після імені стовпця, а замість того, щоб записувати повне ім’я таблиці у пункті вибору перед кожним стовпцем, використовуйте таблицю Псевдоніми як e та d у наведеному вище запиті.

Приклад №4

Приклад внутрішнього з'єднання для двох таблиць із додаванням додаткових пропозицій

Наступний приклад запиту, коли ми додаємо додаткові пропозиції до нашого оператора Oracle SELECT, у якому пункт про додавання агрегацій, обмеження повертаних рядків, визначення порядку сортування тощо. Ось приклад запиту, який отримує всіх працівників, які працюють у відділах фінансів, виготовлення та будівництва.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ( 'Finance', 'Manufacturing', 'Construction' );

Вихід

Приклад №5

Приклад внутрішнього з'єднання двох таблиць із порядком за пунктом

Наступним прикладом запиту ми переписуємо вищезазначений запит, додаючи порядок за пунктом, тому відображаючи дані працівника, відсортовані за назвою відділу.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ('Finance', 'Manufacturing', 'Construction')
ORDER BY d. department_name;

Вихід

Приклад №6

Приклад внутрішнього приєднання для кількох таблиць приєднання

Іноді для отримання інформації нам може знадобитися об'єднати більше двох таблиць. Далі ми пишемо приклад запиту для приєднання кількох таблиць. Розглянемо приклад, який ми хочемо отримати прізвище працівника зі столу працівника, ім’я відділу з таблиці відділу та ідентифікатор країни, в якій працює цей працівник, у таблиці розташування.

SELECT e. first_name, e. salary, d. department_name, l. city, l. country_id
FROM employees e, departments d, locations l
WHERE e. employee_id = d. department_id
AND
d. location_id = l. location_id;

Вихід

Для приєднання до чотирьох або більше таблиць застосовується те саме поняття, додавши ім'я таблиці в пункті про oracle і застосувавши умову приєднання в пункті WHERE про oracle.

Висновок

Внутрішнє з'єднання - це один із типів об'єднання в базі даних oracle. Внутрішнє з'єднання, яке використовується для з'єднання декількох таблиць та повернення тих рядків, для яких умовою приєднання є або є істинними. Як правило, первинний і зовнішній ключ беруть участь у внутрішньому з'єднанні, щоб створити зв'язок між таблицями.

Рекомендовані статті

Це посібник із Інтернеру приєднатися до Oracle. Тут ми обговорюємо вступ до Inner join разом з деякими прикладами докладно. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Приєднується до MySQL
  2. Запити Oracle
  3. Зберігання даних Oracle
  4. Що таке база даних Oracle

Категорія: