З'єднання таблиць вибірка з декількох таблиць - курс основи mysql від devionity

У нас є дві таблиці - group і student. які пов'язані між собою зв'язком один до багатьох.

У цьому уроці ми спробуємо отримати дані з обох таблиць в одній результуючої таблиці. Це називається з'єднання - ми записуємо стовпці однієї таблиці поруч зі стовпцями другий таблиці.

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

SELECT student.name, `group`.description FROM student,` group`;

Вибираємо зазначені поля із зазначених таблиць. Але СУБД не знає як зіставити ці дані, незважаючи на присутність зовнішнього ключа. Як результат - СУБД видасть всі комбінації записів з двох таблиць:


Як бачимо - практичної користі цей результат не принесе. Для того, щоб СУБД зіставили значення з різних таблиць - це необхідно вказати в реченні WHERE:


Тут ми задали умова що потрібні тільки ті записи двох таблиць, де збігаються значення `group`.id і student.group_id.

Також можна з'єднати повністю дві таблиці, записавши * після SELECT:


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

Перевірте свої знання

З'єднати таблиці country, continent для отримання назв країн і назв континентів

Схожі статті