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


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

применимо к:SQL Server

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

Область диаграммы

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

Схема линии соединения, показывающая связь между двумя таблицами.

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

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

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

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

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

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

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

Область SQL

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

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

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

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

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

    Если вы создаете внешнее соединение, слова LEFT OUTER или RIGHT OUTER отображаются вместо слова INNER.

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

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

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