sqlinnerjoin

Внутреннее объединение между двумя таблицами базы данных

Синтаксис

data = sqlinnerjoin(conn,lefttable,righttable)
data = sqlinnerjoin(conn,lefttable,righttable,Name,Value)

Описание

пример

data = sqlinnerjoin(conn,lefttable,righttable) возвращает таблицу, следующую из внутреннего объединения между левыми и правыми таблицами базы данных. Эта функция совпадает со строками с помощью всех разделяемых столбцов или ключей, в обеих таблицах базы данных. Внутреннее объединение сохраняет только строки, которые соответствуют между этими двумя таблицами. Выполнение этой функции является эквивалентом записи SQL-оператора SELECT * FROM lefttable,righttable INNER JOIN lefttable.key = righttable.key.

пример

data = sqlinnerjoin(conn,lefttable,righttable,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, 'Keys','productNumber' задает использование столбца productNumber как ключ для присоединения этих двух таблиц базы данных.

Примеры

свернуть все

Используйте связь ODBC, чтобы импортировать данные о продукте от внутреннего объединения между двумя таблицами базы данных Microsoft® SQL Server® в MATLAB®.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицы productTable и suppliers.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если свойство Message пусто, то связь успешна.

conn.Message
ans =

     []

Соедините две таблицы базы данных, productTable и suppliers. Таблица productTable является столом, из-за которого встают, соединения, и таблица suppliers является правильной таблицей соединения. Функция sqlinnerjoin автоматически обнаруживает разделяемый столбец между таблицами.

data является таблицей, которая содержит совпадающие строки из этих двух таблиц.

lefttable = 'productTable';
righttable = 'suppliers';
data = sqlinnerjoin(conn,lefttable,righttable);

Отобразите первые три строки согласованных данных. Столбцы из правильной таблицы появляются справа от столбцов из вставшего стола.

head(data,3)
ans =

  3×10 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription    SupplierNumber      SupplierName          City           Country           FaxNumber   
    _____________    ___________    ______________    ________    __________________    ______________    _________________    __________    ________________    ______________

          1          4.0035e+05          1001            14       'Building Blocks'          1001         'Wonder Products'    'New York'    'United States'     '212 435 1617'
          2          4.0031e+05          1002             9       'Painting Set'             1002         'Terrific Toys'      'London'      'United Kingdom'    '44 456 9345' 
          3            4.01e+05          1009            17       'Slinky'                   1009         'Doll's Galore'      'London'      'United Kingdom'    '44 222 2397' 

Закройте соединение с базой данных.

close(conn)

Используйте связь ODBC, чтобы импортировать данные о продукте от внутреннего объединения между двумя таблицами базы данных Microsoft® SQL Server® в MATLAB®. Задайте каталог базы данных и схему, где таблицы хранятся.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицы productTable и suppliers.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если свойство Message пусто, то связь успешна.

conn.Message
ans =

     []

Соедините две таблицы базы данных, productTable и suppliers. Таблица productTable является столом, из-за которого встают, соединения, и таблица suppliers является правильной таблицей соединения. Функция sqlinnerjoin автоматически обнаруживает разделяемый столбец между таблицами. Задайте каталог toy_store и схему dbo для обоих левые и правые таблицы. Используйте аргументы пары "имя-значение" 'LeftCatalog' и 'LeftSchema' для стола, из-за которого встают и аргументы пары "имя-значение" 'RightCatalog' и 'RightSchema' для правильной таблицы.

data является таблицей, которая содержит совпадающие строки из этих двух таблиц.

lefttable = 'productTable';
righttable = 'suppliers';
data = sqlinnerjoin(conn,lefttable,righttable,'LeftCatalog','toy_store', ...
    'LeftSchema','dbo','RightCatalog','toy_store','RightSchema','dbo');

Отобразите первые три строки согласованных данных. Столбцы из правильной таблицы появляются справа от столбцов из вставшего стола.

head(data,3)
ans =

  3×10 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription    SupplierNumber      SupplierName          City           Country           FaxNumber   
    _____________    ___________    ______________    ________    __________________    ______________    _________________    __________    ________________    ______________

          1          4.0035e+05          1001            14       'Building Blocks'          1001         'Wonder Products'    'New York'    'United States'     '212 435 1617'
          2          4.0031e+05          1002             9       'Painting Set'             1002         'Terrific Toys'      'London'      'United Kingdom'    '44 456 9345' 
          3            4.01e+05          1009            17       'Slinky'                   1009         'Doll's Galore'      'London'      'United Kingdom'    '44 222 2397' 

Закройте соединение с базой данных.

close(conn)

Используйте связь ODBC, чтобы импортировать данные о продукте, к которым соединяют, от двух таблиц базы данных Microsoft® SQL Server® в MATLAB®. Задайте ключ, чтобы использовать для присоединения таблиц.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицы productTable и suppliers.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если свойство Message пусто, то связь успешна.

conn.Message
ans =

     []

Соедините две таблицы базы данных, productTable и suppliers. Таблица productTable является столом, из-за которого встают, соединения, и таблица suppliers является правильной таблицей соединения. Задайте ключ или совместно использованный столбец, между таблицами с помощью аргумента пары "имя-значение" 'Keys'.

data является таблицей, которая содержит совпадающие строки из этих двух таблиц.

lefttable = 'productTable';
righttable = 'suppliers';
data = sqlinnerjoin(conn,lefttable,righttable,'Keys','supplierNumber');

Отобразите первые три строки согласованных данных. Столбцы из правильной таблицы появляются справа от столбцов из вставшего стола.

head(data,3)
ans =

  3×10 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription    SupplierNumber      SupplierName          City           Country           FaxNumber   
    _____________    ___________    ______________    ________    __________________    ______________    _________________    __________    ________________    ______________

          1          4.0035e+05          1001            14       'Building Blocks'          1001         'Wonder Products'    'New York'    'United States'     '212 435 1617'
          2          4.0031e+05          1002             9       'Painting Set'             1002         'Terrific Toys'      'London'      'United Kingdom'    '44 456 9345' 
          3            4.01e+05          1009            17       'Slinky'                   1009         'Doll's Galore'      'London'      'United Kingdom'    '44 222 2397' 

Закройте соединение с базой данных.

close(conn)

Используйте связь ODBC, чтобы импортировать данные сотрудника от внутреннего объединения между двумя таблицами базы данных Microsoft® SQL Server® в MATLAB®. Задайте левые и правые ключи для соединения.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицы employees и departments.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если свойство Message пусто, то связь успешна.

conn.Message
ans =

     []

Соедините две таблицы базы данных, employees и departments, чтобы найти менеджеров конкретных отделов. Таблица employees является столом, из-за которого встают, соединения, и таблица departments является правильной таблицей соединения. Здесь, имена столбцов ключей отличаются. Укажите, что MANAGER_ID вводит вставший стол с помощью аргумента пары "имя-значение" 'LeftKeys'. Укажите, что DEPT_MANAGER_ID вводит правильную таблицу с помощью аргумента пары "имя-значение" 'RightKeys'.

data является таблицей, которая содержит совпадающие строки из этих двух таблиц.

lefttable = 'employees';
righttable = 'departments';
data = sqlinnerjoin(conn,lefttable,righttable,'LeftKeys','MANAGER_ID', ...
    'RightKeys','DEPT_MANAGER_ID');

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

head(data,3)
ans =

  3×15 table

    EMPLOYEE_ID    FIRST_NAME    LAST_NAME      EMAIL        PHONE_NUMBER           HIRE_DATE           JOB_ID      SALARY    COMMISSION_PCT    MANAGER_ID    DEPARTMENT_ID    DEPARTMENT_ID_1    DEPARTMENT_NAME    DEPT_MANAGER_ID    LOCATION_ID
    ___________    __________    _________    __________    ______________    _____________________    _________    ______    ______________    __________    _____________    _______________    _______________    _______________    ___________

        101         'Neena'      'Kochhar'    'NKOCHHAR'    '515.123.4568'    '2005-09-21 00:00:00'    'AD_VP'      17000          NaN             100             90                90             'Executive'            100             1700    
        102         'Lex'        'De Haan'    'LDEHAAN'     '515.123.4569'    '2001-01-13 00:00:00'    'AD_VP'      17000          NaN             100             90                90             'Executive'            100             1700    
        104         'Bruce'      'Ernst'      'BERNST'      '590.423.4568'    '2007-05-21 00:00:00'    'IT_PROG'     6000          NaN             103             60                60             'IT'                   103             1400    

Закройте соединение с базой данных.

close(conn)

Используйте связь ODBC, чтобы импортировать данные о продукте, к которым соединяют, от двух таблиц базы данных Microsoft® SQL Server® в MATLAB®. Задайте количество строк, чтобы возвратиться.

Создайте соединение с базой данных ODBC к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль. База данных содержит таблицы productTable и suppliers.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Проверяйте соединение с базой данных. Если свойство Message пусто, то связь успешна.

conn.Message
ans =

     []

Соедините две таблицы базы данных, productTable и suppliers. Таблица productTable является столом, из-за которого встают, соединения, и таблица suppliers является правильной таблицей соединения. Функция sqlinnerjoin автоматически обнаруживает разделяемый столбец между таблицами. Задайте количество строк, чтобы возвратить использование аргумента пары "имя-значение" 'MaxRows'.

lefttable = 'productTable';
righttable = 'suppliers';
data = sqlinnerjoin(conn,lefttable,righttable,'MaxRows',3)
data =

  3×10 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription    SupplierNumber      SupplierName          City           Country           FaxNumber   
    _____________    ___________    ______________    ________    __________________    ______________    _________________    __________    ________________    ______________

          1          4.0035e+05          1001            14       'Building Blocks'          1001         'Wonder Products'    'New York'    'United States'     '212 435 1617'
          2          4.0031e+05          1002             9       'Painting Set'             1002         'Terrific Toys'      'London'      'United Kingdom'    '44 456 9345' 
          8          2.1257e+05          1001             5       'Train Set'                1001         'Wonder Products'    'New York'    'United States'     '212 435 1617'

data является таблицей, которая содержит три из совпадающих строк из этих двух таблиц. Столбцы из правильной таблицы появляются справа от столбцов из вставшего стола.

Закройте соединение с базой данных.

close(conn)

Входные параметры

свернуть все

Соединение с базой данных, заданное как объект connection, создается с функцией database.

Стол, из-за которого встают, заданный как вектор символов или скаляр строки. Задайте имя таблицы базы данных на левой стороне соединения.

Пример: 'inventoryTable'

Типы данных: char | string

Правильная таблица, заданная как вектор символов или скаляр строки. Задайте имя таблицы базы данных на правой стороне соединения.

Пример: 'productTable'

Типы данных: char | string

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: data = sqlinnerjoin(conn,lefttable,righttable,'LeftCatalog','toy_store','LeftSchema','dbo','RightCatalog','toy_shop','RightSchema','toys','MaxRows',5) выполняет внутреннее объединение между левыми и правыми таблицами путем определения каталога и схемы для обеих таблиц и возвращает пять совпадающих строк.

Оставленный каталог, заданный как пара, разделенная запятой, состоящая из 'LeftCatalog' и вектора символов или скаляра строки. Задайте имя каталога базы данных, где стол, из-за которого встают, соединения хранится.

Пример: 'LeftCatalog','toy_store'

Типы данных: char | string

Правильный каталог, заданный как пара, разделенная запятой, состоящая из 'RightCatalog' и вектора символов или скаляра строки. Задайте имя каталога базы данных, где правильная таблица соединения хранится.

Пример: 'RightCatalog','toy_store'

Типы данных: char | string

Оставленная схема, заданная как пара, разделенная запятой, состоящая из 'LeftSchema' и вектора символов или скаляра строки. Задайте имя схемы базы данных, где стол, из-за которого встают, соединения хранится.

Пример: 'LeftSchema','dbo'

Типы данных: char | string

Правильная схема, заданная как пара, разделенная запятой, состоящая из 'RightSchema' и вектора символов или скаляра строки. Задайте имя схемы базы данных, где правильная таблица соединения хранится.

Пример: 'RightSchema','dbo'

Типы данных: char | string

Ключи, заданные как пара, разделенная запятой, состоящая из 'Keys' и вектора символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Используйте этот аргумент пары "имя-значение", чтобы идентифицировать разделяемые ключи между этими двумя таблицами, чтобы присоединиться.

Вы не можете использовать этот аргумент пары "имя-значение" с аргументами пары "имя-значение" 'LeftKeys' и 'RightKeys'.

Пример: 'Keys','MANAGER_ID'

Типы данных: char | string | cell

Оставленные ключи, заданные как пара, разделенная запятой, состоящая из 'LeftKeys' и вектора символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Этот аргумент пары "имя-значение" идентифицирует ключи в столе, из-за которого встают, для соединения к правильной таблице.

Используйте этот аргумент пары "имя-значение" с аргументом пары "имя-значение" 'RightKeys'. Оба аргумента должны задать то же количество ключей. Функция sqlinnerjoin соединяет значения ключей на основе их порядка.

Пример: 'LeftKeys',["productNumber" "Price"]

Типы данных: char | string | cell

Правильные ключи, заданные как пара, разделенная запятой, состоящая из 'RightKeys' и вектора символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Этот аргумент пары "имя-значение" идентифицирует ключи в правильной таблице для соединения к вставшему столу.

Используйте этот аргумент пары "имя-значение" с аргументом пары "имя-значение" 'LeftKeys'. Оба аргумента должны задать то же количество ключей. Функция sqlinnerjoin соединяет значения ключей на основе их порядка.

Пример: 'RightKeys',["productNumber" "Price"]

Типы данных: char | string | cell

Максимальное количество строк, чтобы возвратиться, заданный как пара, разделенная запятой, состоящая из 'MaxRows' и положительного числового скаляра. По умолчанию функция sqlinnerjoin возвращает все строки в выполняемый SQL-запрос. Используйте этот аргумент пары "имя-значение", чтобы ограничить количество строк, импортированных в MATLAB®.

Пример: 'MaxRows',10

Типы данных: double

Выходные аргументы

свернуть все

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

Для столбцов, которые имеют типы данных numeric в таблице базы данных, типами данных переменных в data является double по умолчанию. Для столбцов, которые имеют текст, date, time или типы данных timestamp в таблице базы данных, типы данных переменных являются массивами ячеек из символьных векторов по умолчанию.

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

Введенный в R2018a