Указывает условия объединения для выбора соответствующих записей из одной или более таблиц или представлений, например, конкретных значений в поле или записей соответствующих условиям объединения, которые определяют временные отношения между таблицами. Эта закладка появляется в Query and View Designers (Конструкторах запроса и представления).

Установки на закладке Join определяют условия объединения, которые появляются в опции FROM команды SELECT - SQL, которая генерируется и затем появляется в окне SQL конструктора. View Designer (Конструктор представления) загружает и генерирует любую опцию FROM с опцией JOIN или без нее, используя вводное слово опции ON .

Кнопка изменения условий

Появляется слева от строки условия в виде кнопки с двунаправленной стрелкой в случае, если две или более таблицы объединяются в запросе. Щелкните по по ней для редактирования выбранного условия или критерия запроса в диалоговом окне Join Condition (Условие объединения), что обновить вводы в других колонках.

Left Table (Таблица слева)

Содержит псевдоимя левой таблицы в объединении или "<Prev join>", что означает, что левая таблица в объединении в действительности представляет собой предыдущее под'объединение.

Join type (Тип объединения)

Указывает тип условия объединения. Типом объединения, определенным по умолчанию, является Inner Join (Внутреннее объединение). При создании нового условия объединения, щелкните по полю для отображения выпадающего списка типов объединения.

  • Inner Join (Внутреннее объединение)   Определяет, что в результат выборки будут включены только те записи, которые соответствуют условию объединения. Этот тип соединения определен по умолчанию и представляет собой наиболее часто используемый тип объединения.

  • Left Outer Join (Внешнее объединение слева)   Определяет, что в результат будут включены все записи в левой таблице, независимо от того, соответствуют они условию объединения или нет, и только те записи в правой таблице, которые соответствуют условию объединения.

  • Right Outer Join (Внешнее объединение справа)   Определяет, что в результат будут включены все записи из правой таблицы, независимо от того, соответствуют они условию объединения или нет, и только те записи в левой таблице, которые соответствуют условию объединения.

  • Full Join (Полное объединение)   Определяет, что в результат будут включены как записи, которые соответствуют условию объединения, так и те записи, которые такому условию не отвечают. Поле должно соответствовать тексту примера посимвольно.

  • Cross Join (Перекрестное объединение)   Определяет, что каждая запись в левой таблице соответствует всем записям в существующей правой таблице. Когда ключевое слово WHERE отсутствует, установка перекрестного объединения производит набор, называемый декартовым произведением (Cartesian product). Декартово произведение содержит набор всех возможных комбинаций каждого элемента в наборе со всеми элементами в другом наборе.

    Опция Cross Join (Перекрестное объединение) позволяет редактировать последовательность таблиц, появляющуюся в опции FROM предложения SQL SELECT в окне SQL, в котором выводится предложения запроса или представления. Выбор Cross Join (Перекрестное объединение) вставляет символ запятой (,) который разделяет таблицы в опции FROM clause.

    NoteЗамечание

    Вы можете указать cross join (перекрестное объединение) только для левой таблицы в случае, когда она не является предыдущим объединением (<Prev join>). Вы не можете указать перекрестное объединение, когда вводите в запрос или представление новую таблицу, поэтому, если вы желаете установить для таблицы конкретную позицию в последовательности таблиц, вы должны вручную добавить перекрестное объединение для этой таблицы.

    Извне конструкторов запросов и представлений (Query and View designers) перекрестное объединение не поддерживается в синтаксисе команды Visual FoxPro SQL SELECT. Cross joins (Перекрестное объединение) поддерживается только для редактирования последовательности таблиц в конструкторах запросов и представлений (Query and View designers).

    При разборе предложения SQL SELECT Visual FoxPro выкладывает каждую таблицу из опции FROM, которая не вовлечена в объединение, на закладку Join. Строка с "<alias> Cross join" появляется в списке объединения. Последовательность таблиц в опции FROM предложения SELECT соответствует последовательности объединений на закладке Join. При генерации запросов Visual FoxPro использует эту информацию для размещения таблицы в корректной позиции так, как указано в опции FROM. Когда в конструкторах запросов и представлений перезагружаются изменения, они обновляются и на закладке Join (Объединение).

    Если на таблицу нет ссылки на закладке Join (Объединение), Visual FoxPro помещает таблицу в начало опции FROM. Если присутствует несколько таких таблиц, то все они помещаются в начало опции FROM в случайном порядке.

Pri. (Priority)

Указывает число, в диапазоне от 0 до 99, которое указывает приоритет операции объединения. Число 0 определяет высший приоритет, а число 99 - низший. Установка приоритетов для операций объединения определяет порядок, в котором производится объединение и использует круглые скобки (()) для операций группировки. Например, предположим, что вы указали приоритет, равный 0 для первой операции объединения, приоритет, равный 1 для второго объединения и приоритет, равный 0, для третьей операции. Первая и третья операция будут выполнены до второй операции объединения.

Right Table (Таблица справа)

Содержит псевдоимя таблицы, размещаемой в объединении справа или "<Next join>", что означает, что таблица в объединении в действительности представляет собой следующее под'объединение.

Field Name (Имя поля)

Указывает первое поле в условии объединения. При создании нового условия объединения, щелкните по полю для отображения выпадающего списка доступных полей. Вы можете, кроме того, указать выражение.

Not (Отрицание)

"Переворачивает" условие для исключения записей, соответствующих условию.

Criteria (Критерий)

Указывает оператор условия:

  • Equal (Равно) (=)   Определяет, что поле и значение в поле Example должны иметь одинаковое значение.

  • Like (Наподобие)   Определяет, что поля должны включать символы, которые соответствуют символам в тексте поля Example.

    Например, Customer.state Like O соответствуют записям для штатов Ohio, Oklahoma и Oregon.

  • Exactly Like (Точное подобие)(==)   Указывает, что поля должны соответствовать посимвольно тексту в поле Example.

  • Greater Than (Больше, чем)(>)   Указывает, что значения поля должны быть больше, чем значение в поле Example.

  • Less Than (Менее, чем)(<)   Указывает, что значения поля должны быть меньше значения в поле Example.

  • Greater Than or Equal To (Больше, чем или равны) (>=)   Указывает, что значения поля должны быть равны или больше, чем значение в поле Example..

  • Less Than or Equal To (Меньше, чем или равны) (<=)   Указывает, что значения поля должны быть равны или меньше значения в поле Example.

  • Is NULL (Является значением NULL)   Указывает, что значения поля должны содержать null-значение.

  • Is True (Истина)   Указывает, что значения поля или выражения должны оцениваться в True, подразумевая, что значение поля или выражения оценивается в логическую величину.

  • Between (Между)   Указывает, что значения поля должны быть больше, чем или равны меньшему указанному значению и меньше чем или равны большему указанному значению в условии, появляющемся в колонке Example. Вы должны разделить два значения в поле Example словом AND. Visual FoxPro создает запросо со словом BETWEEN.

    Например, Invoices.idate Between 05/10/97 AND 05/12/97 соответствуют записям с датами 10, 11 и 12 Мая 1997.

  • In (В)   Указывает, что поле должно соответствовать одному из нескольких значений в разделенном запятыми списке, который появляется в поле Example.

    Например, Customer.name In Al,George,Mary соответствует записям, в которых имя потребителя равно Al, George или Mary.

Value (Значение)

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

Logical (Логическая операция)

Добавляет условия AND (логическое И) или OR (логическое ИЛИ) в список условий объединения.

Pri. (Priority) - Приоритет

Указывает число в диапазоне от 0 до 99, которое определяет приоритет для логических операций. Число 0 указывает высший приоритет, а число 99 - низший.

Установка свойств для логических операций определяет порядок, в котором производятся логические операции и использует круглые скобки (()) для операций группировки. Например, предположим, что вы указали приоритет, равный 0 для первой логичесий операции, приоритет, равный 1 для второй и приоритет, равный 0, для третьей логической операции. Первая и третья операция будут выполнены до второй логической операции.

Командная кнопка Insert (Вставить)

Вставляет пустое условие объединения над выбранным условием.

Командная кнопка Remove (Удалить)

Удаляет выбранные условия из запроса.

Смотрите также