Як показує практика для зберігання деяких даних у конкретних ситуаціях зручно використовувати кілька таблиць. Після цього, вибірка даних проводиться шляхом одного запиту.
Для прикладу припустимо, у нас є три таблиці: 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