
- •Создание бд в Microsoft Access
- •17. Изменение структуры таблиц
- •Внутреннее объединение
- •Когда следует использовать внутреннее объединение?
- •Как следует использовать внутреннее объединение?
- •Внешнее объединение
- •Когда следует использовать внешнее объединение?
- •Как следует использовать внешнее объединение?
- •Замена внутреннего объединения на внешнее
- •Перекрестное объединение
- •Когда следует использовать перекрестное объединение?
- •Как следует использовать перекрестное объединение?
- •Объединение по несовпадению
- •Когда следует использовать объединение по несовпадению?
- •Как следует использовать объединение по несовпадению?
- •Удаление объединения
Когда следует использовать внешнее объединение?
Используйте внешнее объединение, когда возникнет необходимость, чтобы в результаты объединения были включены все строки одной из таблиц и только те строки другой таблицы, значения связанных полей в которых соответствуют значениям связанных полей в первой таблице.
Как следует использовать внешнее объединение?
Внешние объединения создаются путем изменения внутренних объединений.
Замена внутреннего объединения на внешнее
В режиме конструктора запроса дважды щелкните объединение, которое следует изменить.
На экране появится диалоговое окно Параметры объединения.
В диалоговом окне Параметры объединения обратите внимание на варианты, перечисленные у параметров 2 и 3.
Выберите нужный вариант и нажмите кнопку ОК.
В Microsoft Access отобразится объединение и стрелка, соединяющая источник данных, все строки которого включаются в объединение, с источником данных, из которого выбираются только строки, удовлетворяющие условию объединения.
SQL-синтаксис внешнего объединения
К началу страницы
Перекрестное объединение
Перекрестные объединения, в отличие от внутренних и внешних объединений, не представлены в Office Access 2007 в явном виде. В перекрестном объединении каждая строка из одной таблицы объединяется с каждой строкой из другой таблицы, в результате это приводит к тому, что называется полным объединением или декартовым произведением. Результатом запуска запроса, содержащего объединенные не явным образом таблицы, будет полное объединение. Перекрестные объединения обычно создаются непреднамеренно, но в некоторых случаях они могут быть полезны.
Когда следует использовать перекрестное объединение?
Используйте перекрестные объединения, чтобы проверить все возможные комбинации строк двух таблиц или запросов. Так, например, допустим, в течение года дела у компании шли весьма успешно, и было решено сделать клиентам скидки. Можно построить запрос, который суммирует заказы каждого клиента, создать небольшую таблицу, которая содержит несколько возможных ставок скидок, и совместить их в следующем перекрестном запросе. В результате получится запрос, в котором будет отображен набор предполагаемых скидок для каждого клиента.
Как следует использовать перекрестное объединение?
Перекрестное объединение создается каждый раз, когда в запрос включаются таблицы или запросы и при этом не создается явного объединения для каждой таблицы или запроса. В Microsoft Access каждая строка из каждого запроса или таблицы, без явного объединения с другими таблицами или запросами, комбинируется со всеми остальными строками результата. Рассмотрим вышеописанный сценарий. Допустим, у компании имеется 91 клиент, и предполагается рассмотреть пять возможных процентных ставок скидок. Перекрестный запрос будет состоять из 455 строк (произведение 91 на 5).
Очевидно, что случайно созданные перекрестные объединения могут привести к появлению в результатах запроса огромного числа строк. Кроме того, эти результаты в большинстве случаев будут бессмысленны, поскольку если на самом деле объединять все строки друг с другом не предполагалось, большинство объединенных строк, получившихся в результате, не будут иметь смысла. И, наконец, выполнение запросов, в которых присутствуют случайно созданные перекрестные объединения, может занять много времени.
Случайно созданное перекрестное объединение в режиме конструктора запроса.
Поля,
обведенные кружками, должны быть
объединены.
Полное объединение, созданное в результате случайного перекрестного объединения, изображенного выше.
Обратите внимание на очень большое количество записей.
Результат после создания исправленного объединения.
Обратите внимание, что число записей стало гораздо меньше.