Как конструктор запросов и представлений представляет соединения (визуальные инструменты для баз данных)
Область применения: 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
См. также
Запросы с соединениями (визуальные инструменты для баз данных)
Диалоговое окно "Соединение" (визуальные инструменты для баз данных)