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

Для прикладу припустимо, у нас є три таблиці: users, city, photos. Таблиця users призначена для зберігання даних облікового запису користувача. В таблиці city і photos знаходяться додаткові дані про місцезнаходження користувача (city), а так само про його фотографіях (photos). Завдання вибрати дані з трьох таблиць за допомогою одного запиту.

Для наочності розглянемо просту схему у вигляді малюнка. Отже, в таблиці users є два потрібних для зв’язки поля, id – унікальний ключ, city_id – id ключа в таблиці city. У свою чергу в таблиці photos так само є поле user_id, яке повинно містити ідентичне значення поля id конкретної запису в таблиці users. Таблиця city містить поле id, на яке, як було сказано посилається поле city_id в таблиці users. Таким чином, спираючись на поля з унікальними ключами в таблиці можна зберігати дані, якими в подальшому зручно скористатися запросивши їх в зв’язці. Думаю, з цим розібралися.

Використовуючи конструкцію з команд INNER JOIN формуємо такий запит:

SELECT u.*,c.*,p.*
FROM users u
INNER JOIN city c
ON u.city_id=c.id
INNER JOIN photos p
ON p.user_id=u.id
WHERE u.id=10

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

Додав: htmaker, 22.07.2014 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL

Виправлення помилок у базі MySQL
Рубрика: MySQL

Відновлення пароля root в MySQL
Рубрика: MySQL

Утиліта Mytop для MySQL
Рубрика: Linux, MySQL

Кількість запитів до MySQL в режимі реального часу
Рубрика: MySQL

Як дізнатися час виконання MySQL запиту?
Рубрика: MySQL

Оптимізація MySQL (просто про складному)
Рубрика: MySQL

Повнотекстовий індекс: Full text index
Рубрика: MySQL

Вставлення стовпців: ALTER TABLE ADD
Рубрика: MySQL