Поделиться через


Как конструктор запросов и представлений представляет соединения (визуальные инструменты для баз данных)

Область применения: SQL Server

При соединении таблиц конструктор запросов и представлений представляет соединение графически на панели диаграммы и в виде синтаксиса языка SQL на панели SQL.

панели диаграммы

На панели диаграмм конструктор запросов и представлений отображает строку соединения данных столбцов, включенных в соединение. Конструктор запросов и представлений отображает одну строку соединения для каждого условия соединения. Например, на следующей иллюстрации показана строка соединения для двух соединяемых таблиц.

Линия соединения показывает связь между двумя таблицами

Если таблицы соединяются с использованием более чем одного условия соединения, то в конструкторе запросов и представлений отображается несколько строк соединения, как в следующем примере:

Таблицы, соединенные по нескольким условиям

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

Форма значка в середине строки соединения показывает, как соединяются таблицы или объекты с табличной структурой. Если в предложении соединения используется оператор, отличный от оператора сравнения равно (=), то данный оператор отображается в значке строки соединения. В следующей таблице перечислены значки, которые появляются в строке соединения.

Значок строки соединения Description
Внутреннее соединение (создается с использованием знака равенства)
Внутреннее соединение, основанное на операторе «больше».
Внешнее соединение, в котором участвуют все строки отображаемой слева таблицы, даже если они не имеют соответствий в связанной с ней таблице.
Внешнее соединение, в котором участвуют все строки отображаемой справа таблицы, даже если они не имеют соответствий в связанной с ней таблице.
Полное внешнее соединение, включающее все строки из соединяемых таблиц (даже те строки таблиц, для которых нет соответствующих строк в другой соединяемой таблице).

Символ в конце строки соединения указывает тип соединения. В следующей таблице перечислены типы соединений и значков, которые появляются в конце строки соединения.

Значок в конце строки соединения Тип соединения
Соединение «один к одному»
Соединение «один ко многим»
Конструктор запросов и представлений не может определить тип соединения. Такая ситуация часто возникает при создании соединения вручную.

панели SQL

Соединение можно выразить несколькими способами в инструкции SQL. Точный синтаксис зависит от используемой базы данных и от того, как определено соединение.

Параметры синтаксиса для соединения таблиц включают:

  • Квалификатор JOIN для предложения FROM. Ключевые слова INNER и OUTER определяют тип соединения. Такой синтаксис относится к стандарту ANSI SQL-92.

    Например, при соединении таблиц publishers и pub_info на основе столбца pub_id в каждой таблице результирующая инструкция SQL может выглядеть так:

    SELECT *  
    FROM publishers INNER JOIN pub_info ON  
       publishers.pub_id = pub_info.pub_id  
    

    При создании внешнего соединения вместо слова INNER появляются слова LEFT OUTER или RIGHT OUTER.

  • Предложение WHERE сравнивает столбцы обеих таблиц. Предложение WHERE появляется тогда, когда база данных не поддерживает синтаксис JOIN (или если WHERE введено вручную). Если используется предложение WHERE для создания соединения, то названия обеих таблиц появляются в предложении FROM.

    Например, следующая инструкция соединяет таблицы publishers и pub_info .

    SELECT *  
    FROM publishers, pub_info  
    WHERE publishers.pub_id = pub_info.pub_id  
    

См. также

Запросы с соединениями (визуальные инструменты для баз данных)
Диалоговое окно "Соединение" (визуальные инструменты для баз данных)