MySQL JOIN: опис, приклад використання команди та рекомендації

Дата:

2018-07-07 21:50:14

Перегляди:

362

Рейтинг:

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

Поділитися:

Table of contents:

Розробка баз даних інтернет-ресурсів практично нічим не відрізняється від стандартних баз даних, розроблених у системі MS SQL SERVER. Як правило, для такого роду ресурсів використовується мова MY SQL, хоча його можна застосовувати і до розробки стандартних програмних продуктів, для локального використання. Але мова в статті піде не про це.

mysql join

Часто при роботі з базами даних в кожному з мов стоїть завдання зробити вибірку даних для виведення в різноманітні звіти, графіки і так далі. Як правило, при реалізації такого роду завдань доводиться використовувати не одну, а кілька таблиць, об'єднуючи їх в один запит, значно ускладнюючи його конструкцію. При цьому необхідно враховувати те, як повинні будуть виводитися дані, як «підтягуватися» таблиці і який результат буде максимально прийнятним для програміста. Для вирішення таких завдань використовується одна із стандартних конструкція мови MySQL – Join.

Поняття слова Join

Мови розробки баз даних, неважливо, що саме це за мова, за основу беруть стандартні слова з англомовних словників (саме тому за умови, що ви знаєте англійську мову, вам буде набагато простіше працювати з таблицями). Для реалізації підключення таблиць у вибірку взято таку ж слово - Join. У мові програмування баз даних My SQL. Переклад цього службового слова в точності такий же, як і в самій мові - «об'єднання».

Інтерпретація конструкції MySQL – Join, причому будь-який з них, буде точно такий же. Якщо розшифрувати призначення конструкції, а саме схему її роботи, то отримаємо наступні значення: конструкції дозволять зібрати потрібні поля з різних таблиць або вкладених запитів в одну вибірку.

Більше:

Розширення

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

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

Смайли в

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

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

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

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

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

Види конструкцій для об'єднання

mysql join

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

  1. Inner join.
  2. Cross Join.
  3. Left join.
  4. Right Join.

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

Створення і заповнення таблиць для подальшого використання

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

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

mysql join

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

left join mysql

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

Використання Inner Join

При використанні конструкції MySQL – Join Ineer варто враховувати деякі її особливості. Дана конструкція дозволить вибрати з обох таблиць тільки ті записи, які є і в першій і в другій таблиці. Як це працює? В першій таблиці, у нас є головний ключ – ID, який вказує на порядковий номер запису в таблиці.

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

При використанні конструкції треба розуміти, які саме дані необхідно отримати. Найпоширеніша помилка, особливо у початківця програміста баз даних, це нераціональне і неправильне використання конструкції Inner Join. Як приклад, MySQL Inner Join, можна розглянути скрипт, який поверне нам з раніше описаних і заповнених таблиць інформацію про предмети і їх властивості. Але і тут може бути кілька способів використання конструкції. В цьому плані My SQL дуже гнучкий мову. Отже, можна розглянути приклади використання MySQL Inner Join.

Об'єднання таблиць без вказівки, яких-небудь параметрів. В цьому випадку ми отримаємо результат такого плану:

mysql inner join

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

mysql join приклади

Можливий ще і третій варіант використання конструкції, коли в запиті через слово «on» вказуються поля, за якими має відбуватися об'єднання таблиць. В такому випадку вибірка поверне наступні дані:

mysql join select

Особливості використання Left Join

Якщо розглядати ще один спосіб об'єднання таблиць з допомогою конструкції MySQL – Join, можнапомітити різницю в даних, які виводяться. Таким механізмом є конструкція Left.

Використання конструкції Left Join MySQL має деякі особливості і, як і Inner, вимагає чіткого розуміння результату, який необхідно отримати.

В даному випадку спочатку будуть обрані всі записи з першої таблиці, а в подальшому до них будуть приєднані записи з другої таблиці властивостей. При цьому, якщо в першій таблиці є запис, наприклад, "стілець", а в другій таблиці немає жодного властивості для неї, то оператор Left виведе навпроти цього запису значення null, що говорить програмісту про те, що ознак цього виду предмета немає.

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

Приклад використання Left

Для розгляду на практиці оператора конструкції Left Join MySQL використовуємо раніше описані таблиці. Скажімо, необхідно вибрати весь список товарів, які є в магазині, і перевірити з яких не проставлені ознаки або властивості. В такому випадку вибірка виведе на екран всі товари, а за тим, у яких немає властивості, будуть проставлені порожні значення.

mysql update join

Використання в конструкції Where Join

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

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

При використанні в MySQL Join – Where потрібно чітко розуміти, що будуть показані тільки ті записи, до яких належить зазначена умова, і вибірка тоді буде виглядати наступним чином:

mysql join where

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

Використання Join для зміни даних в таблицях

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

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

Розглянемо найпростіший приклад. Потрібно оновити одним запитом дані по одним і тим же умов. Такого роду запити будуються для оптимізації роботи з базою даних. Навіщо писати різні запити для кожної таблиці, якщо можна провести всі маніпуляції з даними одним запитом? Приклад MySQL Update Join в нашому випадку буде таким:

mysql left join приклади

Побудову складних запитів

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

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

left join mysql

Цей запит поверне нам 58 записів про договори продажу, за яким заповнений або існує баланс грошових коштів на обрану дату. В даному випадку це поточна дата. Також у вибірку додано умова, що в назві договору повинні бути символи - «123». Виведена на екран інформація (дані), буде мати сортування – упорядкованість за номером договору.

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

mysql join

Використання підзапитів

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

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

mysql join

Це не всі способи використання стандартних конструкцій MySQL, а тількистандартні. Як використовувати конструкцію Join і в яких її видах, вирішує сам програміст, але варто пам'ятати і враховувати те, який результат потрібно одержати при виконанні запиту.


Article in other languages:

AR: https://tostpost.com/ar/computers/1533-mysql-join-description-example-usage-commands-and-recommendations.html

BE: https://tostpost.com/be/kamputary/2634-mysql-join-ap-sanne-pryklad-vykarystannya-kamandy-rekamendacy.html

DE: https://tostpost.com/de/computer/2632-mysql-join-beschreibung-beispiel-f-r-die-verwendung-des-befehls-und-em.html

En: https://tostpost.com/computers/6527-mysql-join-description-example-usage-commands-and-recommendations.html

ES: https://tostpost.com/es/los-ordenadores/2637-mysql-join-descripci-n-ejemplo-de-utilizaci-n-del-comando-y-recomendac.html

HI: https://tostpost.com/hi/computers/1533-mysql.html

JA: https://tostpost.com/ja/computers/1532-mysql.html

KK: https://tostpost.com/kk/komp-yuterler/2635-mysql-join-sipattama-mysal-paydalanu-komandalar-men-synystar.html

PL: https://tostpost.com/pl/komputery/2638-mysql-join-opis-przyk-ad-u-ycia-polecenia-i-zalecenia.html

PT: https://tostpost.com/pt/computadores/2635-mysql-join-descri-o-exemplo-de-utiliza-o-do-comando-e-recomenda-es.html

TR: https://tostpost.com/tr/bilgisayarlar/2640-mysql-jo-n-a-klama-rnek-komutunu-kullanmak-ve-neriler.html

ZH: https://tostpost.com/zh/computers/1648-mysql.html






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

Примітка (0)

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

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

Новини

Як написати програму в Блокноті

Як написати програму в Блокноті

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

Гра

Гра "Вогонь і Вода: Лісові храми"

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

Skype: помилка kernell32.dll. Як виправити?

Skype: помилка kernell32.dll. Як виправити?

Програма для відеоспілкування Skype вважається найбільш популярною серед всіх додатків такого напрямку. На жаль, досить часто багато користувачів стикаються з проблемою появи помилок в модулі kernell32.dll (помилка «Скайпу&r...

Що таке інфографіка? Визначення і приклади

Що таке інфографіка? Визначення і приклади

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

Види відеокарт. Дискретна відеокарта або інтегрована - що краще

Види відеокарт. Дискретна відеокарта або інтегрована - що краще

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

Пристрої виведення і введення. Основні пристрої введення/виведення інформації

Пристрої виведення і введення. Основні пристрої введення/виведення інформації

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