MySQL / 12. Использование нескольких таблиц

На некоторые запросы просто невозможно ответить, используя всего одну таблицу, к тому же реальная мощь реляционных баз данных проявляется тогда, когда вы начинаете связывать данные из одних таблиц с другими. Существует ряд причин использования нескольких таблиц: • Для соединения записей таблиц с целью получения более полной информации, чем та, которую можно извлечь из каждой отдельной таблицы. • Для хранения промежуточных результатов многоэтапной операции. • Для вставки, удаления или обновления записей одной таблицы на основе информации из другой.
Статьи раздела '12. Использование нескольких таблиц':
Вставка записей в таблицу, включающую значения из другой
Задача Вам нужно вставить запись в таблицу, требующую значение идентификатора. Вы же знаете только соответствующее идентификатору имя, но не сам идентификатор. Решение Если предположить, что у вас есть справочная таблица, соп...
Вывод списков для записей «главная-подчиненная» и итогов
Задача Две таблицы соотносятся как «главная-подчиненная» (master-detail), и вы хотите вывести список, который для каждой главной записи выводит соответствующие ей подчиненные, или список, в котором просуммированы подчиненные запи...
Вычисление разности между последовательными строками
Задача У вас есть таблица, строки которой содержат последовательные накапливаемые значения, и вы хотите вычислить разности между парами последовательных строк. Решение Используйте самосоединение, сопоставляющее пары соседних ...
Вычисление рейтинга команд
Задача Вы хотите вычислить рейтинг команд по записям об их победах и поражениях, включая значения «отставания в играх» (GB – games-behind). Решение Определите, какая команда занимает первое место, затем объедините результат с...
Выявление и удаление несвязанных записей
Задача У вас есть связанные таблицы (например, имеющие связь «главная-подчиненная»). Но вы подозреваете, что некоторые строки ни с чем не связаны и могут быть удалены. Решение Используйте LEFT JOIN для определения отсутствия ...
Заполнение пустых мест в списке с помощью соединения
Задача Вы хотите вывести итоги для каждой из нескольких категорий, но некоторые из них не представлены в обрабатываемых данных. Следовательно, в итогах будет не хватать категорий. Решение Создайте справочную таблицу, в которо...
Нарастающий итог и скользящее среднее
Задача У вас есть ряд наблюдений, сделанных на протяжении какого-то периода времени, и вы хотите вычислить сумму нарастающим итогом (cumulative sum) для каждой точки измерения. Или же хотите получить скользящее среднее (running a...
Нахождение строк одной таблицы, соответствующих строкам другой
Задача Вы хотите использовать строки одной таблицы для того, чтобы определить строки другой таблицы. Решение Используйте соединение с инструкцией WHERE для установления соответствия между строками разных таблиц. Обсуждение...
Нахождение строк с минимальным и максимальным значениями в группе
Задача Вы хотите определить, какая запись в каждой группе строк таблицы содержит максимальное или минимальное значение указанного столбца. Например, вы хотите узнать, какая из картин каждого художника оказалась наиболее дорогой. ...
Нахождение строк, которым не соответствуют никакие строки другой таблицы
Задача Вы хотите найти строки одной таблицы, которым не соответствуют никакие строки другой. Или хотите вывести список на основе соединения таблиц, новключить в него и записи, для которых не найдено соответствия в другой таблице....

Страницы: 1 2 3