Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 6 10 11 12 15 17 18.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
34.33 Кб
Скачать

Когда следует использовать внешнее объединение?

Используйте внешнее объединение, когда возникнет необходимость, чтобы в результаты объединения были включены все строки одной из таблиц и только те строки другой таблицы, значения связанных полей в которых соответствуют значениям связанных полей в первой таблице.

Как следует использовать внешнее объединение?

Внешние объединения создаются путем изменения внутренних объединений.

Замена внутреннего объединения на внешнее

  1. В режиме конструктора запроса дважды щелкните объединение, которое следует изменить.

На экране появится диалоговое окно Параметры объединения.

  1. В диалоговом окне Параметры объединения обратите внимание на варианты, перечисленные у параметров 2 и 3.

  2. Выберите нужный вариант и нажмите кнопку ОК.

  3. В Microsoft Access отобразится объединение и стрелка, соединяющая источник данных, все строки которого включаются в объединение, с источником данных, из которого выбираются только строки, удовлетворяющие условию объединения.

SQL-синтаксис внешнего объединения

К началу страницы

Перекрестное объединение

Перекрестные объединения, в отличие от внутренних и внешних объединений, не представлены в Office Access 2007 в явном виде. В перекрестном объединении каждая строка из одной таблицы объединяется с каждой строкой из другой таблицы, в результате это приводит к тому, что называется полным объединением или декартовым произведением. Результатом запуска запроса, содержащего объединенные не явным образом таблицы, будет полное объединение. Перекрестные объединения обычно создаются непреднамеренно, но в некоторых случаях они могут быть полезны.

Когда следует использовать перекрестное объединение?

Используйте перекрестные объединения, чтобы проверить все возможные комбинации строк двух таблиц или запросов. Так, например, допустим, в течение года дела у компании шли весьма успешно, и было решено сделать клиентам скидки. Можно построить запрос, который суммирует заказы каждого клиента, создать небольшую таблицу, которая содержит несколько возможных ставок скидок, и совместить их в следующем перекрестном запросе. В результате получится запрос, в котором будет отображен набор предполагаемых скидок для каждого клиента.

Как следует использовать перекрестное объединение?

Перекрестное объединение создается каждый раз, когда в запрос включаются таблицы или запросы и при этом не создается явного объединения для каждой таблицы или запроса. В Microsoft Access каждая строка из каждого запроса или таблицы, без явного объединения с другими таблицами или запросами, комбинируется со всеми остальными строками результата. Рассмотрим вышеописанный сценарий. Допустим, у компании имеется 91 клиент, и предполагается рассмотреть пять возможных процентных ставок скидок. Перекрестный запрос будет состоять из 455 строк (произведение 91 на 5).

Очевидно, что случайно созданные перекрестные объединения могут привести к появлению в результатах запроса огромного числа строк. Кроме того, эти результаты в большинстве случаев будут бессмысленны, поскольку если на самом деле объединять все строки друг с другом не предполагалось, большинство объединенных строк, получившихся в результате, не будут иметь смысла. И, наконец, выполнение запросов, в которых присутствуют случайно созданные перекрестные объединения, может занять много времени.

Случайно созданное перекрестное объединение в режиме конструктора запроса.

 Поля, обведенные кружками, должны быть объединены.

Полное объединение, созданное в результате случайного перекрестного объединения, изображенного выше.

 Обратите внимание на очень большое количество записей.

Результат после создания исправленного объединения.

 Обратите внимание, что число записей стало гораздо меньше.