logo

Об’єднання SQL (внутрішнє, ліве, праве та повне з’єднання)

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

У цій статті ми дізнаємося про Об'єднання в SQL, охоплюючи типи JOIN, синтаксис і приклади.

SQL JOIN

Речення SQL JOIN використовується для запиту та доступу до даних із кількох таблиць шляхом встановлення логічних зв’язків між ними. Він може отримувати доступ до даних із кількох таблиць одночасно, використовуючи загальні ключові значення, які спільно використовуються в різних таблицях.



Ми можемо використовувати SQL JOIN з кількома таблицями. Його також можна поєднувати з іншими реченнями, найпопулярнішим використанням буде використання JOIN with речення WHERE для фільтрації отримання даних.

Приклад SQL JOIN

Розглянемо дві таблиці нижче:

студент:

учнівський стіл StudentCourse :

таблиця курсу

Обидві ці таблиці з’єднані одним загальним ключем (стовпцем), тобто ROLL_NO.

Ми можемо виконати операцію JOIN за допомогою заданого SQL-запиту:

  SELECT   s.roll_no, s.name, s.address, s.phone, s.age, sc.course_id   FROM   Student s   JOIN   StudentCourse sc   ON   s.roll_no = sc.roll_no;>

Вихід:

ROLL_NO ІМ'Я АДРЕСА ТЕЛЕФОН ВІК COURSE_ID
1 ЖОРСТКИЙ ДЕЛІ XXXXXXXXX 18 1
2 ПРАКТИКА БІХАР XXXXXXXXX 19 2
3 РІЯНКА СІЛЬГУРІ XXXXXXXXX двадцять 2
4 ГЛИБОКИЙ РАМНАГАР XXXXXXXXX 18 3
5 САППАРХІ КОЛКАТА XXXXXXXXX 19 1

Типи JOIN в SQL

У SQL існує багато типів об’єднань. Залежно від варіанту використання ви можете використовувати різні типи пропозиції SQL JOIN. Ось типи SQL JOIN, які часто використовуються:

  • ВНУТРІШНЄ З'ЄДНАННЯ
  • ЛІВОГО ПРИЄДНАННЯ
  • ПРАВО ПРИЄДНУЙТЕСЯ
  • ПОВНЕ ПРИЄДНАННЯ
  • ПРИРОДНЕ ПРИЄДНАННЯ

SQL INNER JOIN

The ВНУТРІШНЄ З'ЄДНАННЯ ключове слово вибирає всі рядки з обох таблиць, якщо умова виконується. Це ключове слово створить набір результатів, об’єднавши всі рядки з обох таблиць, де виконується умова, тобто значення спільного поля буде однаковим.

Синтаксис :

Синтаксис для SQL INNER JOIN такий:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    INNER JOIN   table2   ON   table1.matching_column = table2.matching_column;>

тут,

  • таблиця1 : Перша таблиця.
  • таблиця2 : Другий стіл
  • matching_column : Стовпець, спільний для обох таблиць.

Примітка : Ми також можемо написати JOIN замість INNER JOIN. JOIN те саме, що INNER JOIN.

підрядок рядка java

візуальне представлення внутрішнього з’єднання sql

Приклад INNER JOIN

Давайте розглянемо приклад пропозиції INNER JOIN і зрозуміємо, що вона працює.

Цей запит покаже імена та вік студентів, які навчаються на різних курсах.

  SELECT   StudentCourse.COURSE_ID, Student.NAME, Student.AGE   FROM   Student   INNER JOIN   StudentCourse   ON   Student.ROLL_NO = StudentCourse.ROLL_NO;>

Вихід :

приклади програмування на python

Приклад внутрішнього з’єднання sql

SQL LEFT JOIN

LEFT JOIN повертає всі рядки таблиці зліва від об’єднання та збігає рядки для таблиці з правого боку об’єднання. Для рядків, для яких немає відповідного рядка з правого боку, набір результатів міститиме нуль . LEFT JOIN також відомий як LEFT OUTER JOIN.

Синтаксис

Синтаксис LEFT JOIN у SQL такий :

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    LEFT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

тут,

  • таблиця1: Перший стіл.
  • таблиця2 : Другий стіл
  • matching_column : Стовпець, спільний для обох таблиць.

Примітка : Ми також можемо використовувати LEFT OUTER JOIN замість LEFT JOIN, обидва однакові.

Left_Join

Приклад LEFT JOIN

Давайте розглянемо приклад пропозиції LEFT JOIN і зрозуміємо, що вона працює

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   LEFT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Вихід :

Виведення прикладу лівого приєднання sql

SQL RIGHT JOIN

ПРАВО ПРИЄДНУЙТЕСЯ повертає всі рядки таблиці з правого боку об’єднання та відповідні рядки для таблиці з лівого боку з’єднання. Це дуже схоже на LEFT JOIN Для рядків, для яких немає відповідного рядка з лівого боку, набір результатів міститиме нуль . RIGHT JOIN також відомий як RIGHT OUTER JOIN.

Синтаксис:

Синтаксис RIGHT JOIN у SQL такий:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    RIGHT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

тут,

  • таблиця1 : Перша таблиця.
  • таблиця2 : Другий стіл
  • matching_column : Стовпець, спільний для обох таблиць.

Примітка : Ми також можемо використовувати ПРАВЕ ЗОВНІШНЄ З'ЄДНАННЯ замість RIGHT JOIN обидва однакові.

sql right join візуальне представлення

Приклад RIGHT JOIN :

Давайте розглянемо приклад пропозиції RIGHT JOIN і зрозуміємо, що вона працює

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   RIGHT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Вихід:

вихід прикладу правого з’єднання

SQL FULL JOIN

ПОВНЕ ПРИЄДНАННЯ створює набір результатів шляхом поєднання результатів LEFT JOIN і RIGHT JOIN. Набір результатів міститиме всі рядки з обох таблиць. Для рядків, для яких немає відповідності, набір результатів міститиме НУЛЬ значення.

Full_Join

Синтаксис

Синтаксис SQL FULL JOIN такий:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    FULL JOIN   table2   ON   table1.matching_column = table2.matching_column;>

тут,

  • таблиця1 : Перша таблиця.
  • таблиця2 : Другий стіл
  • matching_column : Стовпець, спільний для обох таблиць.

Приклад повного приєднання

Давайте розглянемо приклад пропозиції FULL JOIN і зрозуміємо, що вона працює

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   FULL JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Вихід:

ІМ'Я

COURSE_ID

ЖОРСТКИЙ

1

ПРАКТИКА

2

РІЯНКА

2

ГЛИБОКИЙ

3

САПТАРХІ

обхід бінарного дерева поштою

1

ДХАНРАЖ

НУЛЬ

РОХІТ

НУЛЬ

НІРАЖ

НУЛЬ

НУЛЬ

4

НУЛЬ

5

НУЛЬ

4

Природне з'єднання SQL (?)

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

Обидві таблиці повинні мати принаймні один спільний стовпець з однаковою назвою стовпця та однаковим типом даних.

Дві таблиці з’єднані за допомогою Перехресне з'єднання .

СУБД шукатиме загальний стовпець з однаковою назвою та типом даних. Кортежі, що мають однакові значення в загальних стовпцях, зберігаються в результаті.

Приклад природного з'єднання:

Подивіться на дві таблиці нижче: «Співробітник» і «Відділ».

Співробітник

Emp_id Emp_name Dept_id
1 ОЗП 10
2 Джон 30
3 Боб п'ятдесят

відділ

глобальна змінна js
Dept_id Назва_відділу
10 IT
30 HR
40 TIS

проблема : знайдіть усіх співробітників і їхні відповідні відділи.

Запит на рішення : (Співробітник) ? (кафедра)

Emp_id Emp_name Dept_id Dept_id Назва_відділу
1 ОЗП 10 10 IT
2 Джон 30 30 HR
Дані про співробітника Дані відділу

Додаткові ресурси

Щоб дізнатися більше про SQL JOIN, спробуйте переглянути наші відео та прочитати статті:

Зліва JOIN (відео)
Right JOIN (Відео)
Повне приєднання (відео)
SQL | JOIN (декартове об'єднання, самооб'єднання)