Оператор SQL INNER JOIN: приклади, синтаксис і особливості

Дата:

2019-01-25 01:30:18

Перегляди:

397

Рейтинг:

1Дизлайк 0Любити

Поділитися:

Table of contents:

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

sql inner join приклад

Вибірки даних з таблиць

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

Select * from Person

де Person – ім'я таблиці, з якої необхідно зробити вибірку даних.

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

Способи підключення додаткових таблиць

Якщо розглядати використання такого роду конструкцій на початковому рівні, то можна виділити наступні механізми підключення необхідної кількості таблиць для вибірки, а саме:

  1. Оператор Inner Join.
  2. Left Join або, це другий спосіб запису, Left Outer Join.
  3. Cross Join.
  4. Full Join.

Використання операторів об'єднання таблиць на практиці можна засвоїти, розглянувши застосування оператора SQL - Inner Join. Приклад його використання буде виглядати наступним чином:

Більше:

Розширення

Розширення "Економія трафіку Google Chrome

У статті піде мова про те, як здійснюється економія трафіку в Google Chrome. Цей режим ще називають "Турбо", і його практично кожен спостерігав в таких браузерах, як Yandex Browser або Opera. Проте в Google Chrome даний компонент відсутній, і заощади...

Смайли в

Смайли в "Скайпі" - опис, застосування, секрети

Skype - програма, якою користуються багато людей. Вона призначена спеціально для спілкування і обміну даними. Як і будь-який інший месенджер, "Скайп" оснащений чудовим інтерфейсом і графічними елементами. Тут можна виражати емоції різними способами. ...

Ресурс вогняна сіль в

Ресурс вогняна сіль в "Скайриме"

Матеріал у грі «Скайрим» вогняна сіль має ряд застосувань, які будуть корисні для гравця. Цей предмет можна дістати кількома способами, які варто знати користувачу. Стаття надає всю потрібну інформацію з цього ресурсу.ВидобутокУ проекті ж...

Select * from Person

Inner join Subdivision on Su_Person = Pe_ID

Мова SQL і оператор Join Inner Join можна використовувати не тільки для об'єднання двох і більше таблиць, але і для підключення інших підзапитів, що значно полегшує роботу адміністраторів бази даних і, як правило, може значно прискорити виконання певних, складних за структурою запитів.

Об'єднання даних у таблицях порядково

оператор sql inner join приклади

Якщо розглядати підключення великої кількості підзапитів та збирання даних в єдину таблицю рядок за рядком, то можна використовувати також оператори Union, і Union All.

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

Опис оператора Inner Join

У більшості випадків для об'єднання декількох таблиць в мові SQL використовується оператор Inner Join. Опис Inner Join в SQL досить просте для розуміння середньостатистичного програміста, який тільки починає розбиратися в базах даних. Якщо розглянути опис механізму роботи цієї конструкції, то отримаємо таку картину. Логіка оператора в цілому побудована на можливості перетину і вибірки тільки тих даних, які є у кожної з вхідних в запит таблиці.

Якщо розглянути таку роботу з точки зору графічної інтерпретації, то отримаємо структуру оператора SQL Inner Join, приклад якої можна показати за допомогою наступної схеми:

sql inner join синтаксис приклади

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

Синтаксис оператора Inner Join

Як вже говорилося раніше, оператор Inner Join, а саме синтаксис, надзвичайно простий. Для організації зв'язків між таблицями в межах однієї вибірки достатньо буде запам'ятати і використовувати наступну принципову схему побудови оператора, яка прописується в одну сходинку програмного SQL-коду, а саме:

  • Inner Join [Ім'я таблиці] on [ключове поле з таблиці, до якої підключаємо] = [Ключовому полю підключається таблиці].

Для зв'язку в даному операторі використовуються головні ключі таблиць. Як правило, в групі таблиць, які зберігають інформацію про співробітників, раніше описані Person і Subdivision мають хоча б по одній схожою запису. Отже, розглянемо детальніше оператор SQL Inner Join, приклад якого був показаний раніше.

Приклад та опис підключення до вибірці однієї таблиці

У нас є таблиця Person, де зберігається інформація про всіх співробітників, що працюють в компанії. Відразу відзначимо, що головним ключем даної таблиці є поле – Pe_ID. Як раз і буде йти зв'язка.

Друга таблиця Subdivision буде зберігати інформацію про підрозділи, в яких працюють співробітники. Вона, в свою чергу, пов'язана з допомогою поля Su_Person з таблицею Person. Про що це говорить? Виходячи зі схеми даних можна сказати, що в таблиці підрозділів для кожного запису з таблиці «Співробітники» буде інформація про відділ, в якому вони працюють. Саме з цього зв'язку і буде працювати оператор Inner Join.

Для більш зрозумілого розглянемо використанняоператор SQL Inner Join (приклади його використання для однієї та двох таблиць). Якщо розглядати приклад для однієї таблиці, то тут все досить просто:

Select * from Person

Inner join Subdivision on Su_Person = Pe_ID

Приклад підключення двох таблиць і подзапроса

sql і оператор join inner join

Оператор SQL Inner Join, приклади використання якого для вибірки даних з декількох таблиць можна організувати вищевказаним чином, працює по трохи ускладненому принципом. Для двох таблиць ускладнимо завдання. Скажімо, у нас є таблиця Depart, в якій зберігається інформація про всіх відділах в кожному з підрозділів. У цю таблицю записаний номер підрозділу і номер співробітника і потрібно доповнити вибірку даних назвою кожного відділу. Забігаючи вперед, варто сказати, що для вирішення цього завдання можна скористатися двома методами.

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

Select Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name Person from

Inner join Subdivision on Su_Person = Pe_ID

Inner join Depart on Su_Depart = Dep_ID and Pe_Depart = Dep_ID

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

Select Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name Person from

Inner join Subdivision on Su_Person = Pe_ID

Inner join (Select Dep_ID, Dep_Name, Pe_Depart from Depart) as T on Su_Depart = Dep_ID and Pe_Depart = Dep_ID

Варто відзначити, що така конструкція не завжди може прискорити роботу запиту. Іноді бувають випадки, коли доводиться використовувати додатково вибірку даних в тимчасову таблицю (якщо їх обсяг дуже великий), а потім її поєднувати з основною вибіркою.

Приклад використання оператора Inner Join для вибірок з великої кількості таблиць

Побудову складних запитів на увазі використання для вибірки даних значної кількості таблиць і підзапитів, пов'язаних між собою. Цим вимогам може задовольнити SQL Inner Join синтаксис. Приклади використання оператора в даному випадком можуть ускладнюватися не тільки вибірками з багатьох місць зберігання даних, але й з великої кількості вкладених підзапитів. Для конкретного прикладу можна взяти вибірку даних з системних таблиць (оператор Inner Join SQL). Приклад - 3 таблиці, у цьому випадку буде мати досить складну структуру.

inner join sql приклад 3 таблиці

В даному випадку підключено (до основної таблиці) ще три додатково введено кілька умов вибору даних.

При використанні оператора Inner Join варто пам'ятати про те, що чим складніше запит, тим довше він буде реалізовуватися, тому варто шукати шляхи більш швидкого виконання і вирішення поставленого завдання.inner join sql приклад 3 таблиці

Висновок

У підсумку хотілося б сказати одне: робота з базами даних - це не найскладніше, що є в програмуванні, тому при бажанні абсолютно кожна людина зможе оволодіти знаннями щодо побудови баз даних, а згодом, набравшись досвіду, вийде працювати з ними на професійному рівні.


Article in other languages:

AR: https://tostpost.com/ar/computers/14604-sql-inner-join.html

BE: https://tostpost.com/be/kamputary/26073-aperatar-sql-inner-join-pryklady-s-ntaks-s-asabl-vasc.html

DE: https://tostpost.com/de/computer/26090-inner-join-sql-anweisung-beispiele-syntax-und-features.html

ES: https://tostpost.com/es/los-ordenadores/26213-el-operador-inner-join-de-sql-ejemplos-de-la-sintaxis-y-caracter-stica.html

HI: https://tostpost.com/hi/computers/14626-sql.html

JA: https://tostpost.com/ja/computers/14627-sql.html

KK: https://tostpost.com/kk/komp-yuterler/26057-operatory-sql-inner-join-mysaldar-sintaksis-zh-ne-erekshel-kter.html

PL: https://tostpost.com/pl/komputery/25981-instrukcj-sql-inner-join-przyk-ady-sk-adnia-i-cechy.html

PT: https://tostpost.com/pt/computadores/25991-a-instru-o-sql-inner-join-exemplos-da-sintaxe-e-caracter-sticas.html

TR: https://tostpost.com/tr/bilgisayarlar/26062-operat-r-sql-inner-jo-n-rnekler-s-zdizimi-ve-zellikleri.html






Alin Trodden - автор статті, редактор
"Привіт, Я Алін Тродден. Я пишу тексти, читаю книги і шукаю враження. І я непогано вмію розповідати вам про це. Я завжди радий брати участь у цікавих проектах."

Примітка (0)

Ця стаття не має коментарів, будьте першим!

Додати коментар

Новини

Як видалити Zaxar: покрокова інструкція

Як видалити Zaxar: покрокова інструкція

Досить часто можна спостерігати ситуації, коли користувачі комп'ютерних систем на основі Windows раптом помічають появу якоїсь незрозумілої програми під назвою Zaxar Game Browser. Іноді вона може називатися просто Zaxar, Zaxar Bro...

Чіт-коди на

Чіт-коди на "Сімс 4" на вагітність двійнею, трійнею, на швидку вагітність

«Сімс 4» - це четверта частина легендарної серії комп'ютерних симуляторів життя, в яких ви можете створити свого персонажа, а потім знайомити його з іншими персонажами, відправляти на роботу, отримувати гроші, облаштов...

Драйвери для програм і пристроїв: встановлення та підтримка в актуальному стані

Драйвери для програм і пристроїв: встановлення та підтримка в актуальному стані

Як відомо, драйвери для програм і пристроїв, які можуть бути задіяні при роботі з системними або користувацькими додатками, належать до ключових компонентів, без яких комп'ютерне «залізо», яким би воно не було суперсуч...

Геймпад і джойстик - це одне і те ж?

Геймпад і джойстик - це одне і те ж?

Сфера комп'ютерних ігор шириться з кожним днем. На ринок виходять все нові і складні проекти, які дають змогу з головою поринути у фантастичні світи, побувати у вигаданих місцях і стати ким завгодно. Деякі відеоігри для повноти за...

Як змонтувати образ в Daemon Tools Lite легко і невимушено?

Як змонтувати образ в Daemon Tools Lite легко і невимушено?

Того, як змонтувати образ в Daemon Tools Lite повинен навчитися кожен користувач персонального комп'ютера. Принаймні, така думка автора цієї публікації. Я теж не програміст, але скажімо, просунутий "юзер". За роки користування ПК ...

Як підсилити сигнал Wi-Fi?

Як підсилити сигнал Wi-Fi?

У тому випадку, якщо Windows повідомляє вас про слабкому сигналі роутера Wi-Fi, це може означати, що швидкість з'єднання занадто слабка і не відповідає заявленому рівню. Ще гірше, якщо в якомусь місці у вашій квартирі або офісі си...