Внутреннее соединение между двумя таблицами базы данных
возвращает таблицу, являющуюся результатом внутреннего соединения между левой и правой таблицами базы данных. Эта функция сопоставляет строки с использованием всех общих столбцов или ключей в обеих таблицах базы данных. Внутреннее соединение сохраняет только строки, совпадающие между двумя таблицами. Выполнение этой функции эквивалентно написанию инструкции SQL data = sqlinnerjoin(conn,lefttable,righttable)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)
Импортируйте объединенные данные продукта из двух таблиц базы данных Microsoft ® SQL Server ® в MATLAB ® с помощью подключения ODBC. Одна из таблиц содержит имя переменной с символом, отличным от ASCII. При импорте данных сохраните имена всех переменных.
Создайте подключение базы данных ODBC к базе данных SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль. База данных содержит таблицыproductTable и suppliers.
datasource = "MSSQLServerAuth"; conn = database(datasource,"","");
Проверьте подключение к базе данных. Если Message пустое свойство, подключение выполнено успешно.
conn.Message
ans =
[]
Добавление столбца в таблицу базы данных productTable. Имя столбца содержит символ, отличный от ASCII.
sqlquery = "ALTER TABLE productTable ADD tamaño varchar(30)";
execute(conn,sqlquery)Объединение двух таблиц базы данных, productTable и suppliers. productTable таблица - левая таблица соединения, и suppliers таблица - это правая таблица соединения. sqlinnerjoin функция автоматически обнаруживает общий столбец между таблицами. Укажите количество строк, возвращаемых с помощью 'MaxRows' аргумент пары имя-значение.
lefttable = 'productTable'; righttable = 'suppliers'; data = sqlinnerjoin(conn,lefttable,righttable,'MaxRows',3)
data=3×11 table
productNumber stockNumber supplierNumber unitCost productDescription tama_o SupplierNumber SupplierName City Country FaxNumber
_____________ ___________ ______________ ________ ___________________ __________ ______________ ___________________ ____________ __________________ ________________
1 4.0035e+05 1001 14 {'Building Blocks'} {0×0 char} 1001 {'Wonder Products'} {'New York'} {'United States' } {'212 435 1617'}
2 4.0031e+05 1002 9 {'Painting Set' } {0×0 char} 1002 {'Terrific Toys' } {'London' } {'United Kingdom'} {'44 456 9345' }
8 2.1257e+05 1001 5 {'Train Set' } {0×0 char} 1001 {'Wonder Products'} {'New York'} {'United States' } {'212 435 1617'}
data - таблица, содержащая три из сопоставленных строк из двух таблиц. sqlinnerjoin функция преобразует имя новой переменной в символы ASCII.
Сохраните имя переменной, содержащей символ, отличный от ASCII, указав VariableNamingRule аргумент пары имя-значение. Импортируйте данные еще раз.
data = sqlinnerjoin(conn,lefttable,righttable,'MaxRows',3, ... 'VariableNamingRule',"preserve")
data=3×11 table
productNumber stockNumber supplierNumber unitCost productDescription tamaño SupplierNumber SupplierName City Country FaxNumber
_____________ ___________ ______________ ________ ___________________ __________ ______________ ___________________ ____________ __________________ ________________
1 4.0035e+05 1001 14 {'Building Blocks'} {0×0 char} 1001 {'Wonder Products'} {'New York'} {'United States' } {'212 435 1617'}
2 4.0031e+05 1002 9 {'Painting Set' } {0×0 char} 1002 {'Terrific Toys' } {'London' } {'United Kingdom'} {'44 456 9345' }
8 2.1257e+05 1001 5 {'Train Set' } {0×0 char} 1001 {'Wonder Products'} {'New York'} {'United States' } {'212 435 1617'}
sqlinnerjoin функция сохраняет символ, отличный от ASCII, в имени переменной.
Закройте подключение к базе данных.
close(conn)
conn - Подключение к базе данныхconnection объектПодключение к базе данных, указанное как ODBC connection объект или JDBC connection объект, созданный с помощью database функция.
lefttable - Левый столЛевая таблица, заданная как вектор символа или скаляр строки. Укажите имя таблицы базы данных в левой части соединения.
Пример: 'inventoryTable'
Типы данных: char | string
righttable - Правый столПравая таблица, заданная как вектор символа или скаляр строки. Укажите имя таблицы базы данных в правой части соединения.
Пример: 'productTable'
Типы данных: char | string
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. 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' и вектор символов или строковый скаляр. Укажите имя каталога базы данных, в котором хранится левая таблица соединения.
Пример: 'LeftCatalog','toy_store'
Типы данных: char | string
'RightCatalog' - Правый каталогПравый каталог, указанный как разделенная запятыми пара, состоящая из 'RightCatalog' и вектор символов или строковый скаляр. Укажите имя каталога базы данных, в котором хранится правая таблица соединения.
Пример: 'RightCatalog','toy_store'
Типы данных: char | string
'LeftSchema' - Левая схемаЛевая схема, указанная как разделенная запятыми пара, состоящая из 'LeftSchema' и вектор символов или строковый скаляр. Укажите имя схемы базы данных, в которой хранится левая таблица соединения.
Пример: 'LeftSchema','dbo'
Типы данных: char | string
'RightSchema' - Правильная схемаПравая схема, указанная как разделенная запятыми пара, состоящая из 'RightSchema' и вектор символов или строковый скаляр. Укажите имя схемы базы данных, в которой хранится правая таблица соединения.
Пример: 'RightSchema','dbo'
Типы данных: char | string
'Keys' - КлючиКлавиши, указанные как разделенная запятыми пара, состоящая из 'Keys' и символьный вектор, строковый скаляр, клеточный массив символьных векторов или строковый массив. Укажите вектор символа или скаляр строки для указания одной клавиши. Для нескольких ключей укажите массив ячеек из символьных векторов или строковый массив. Этот аргумент пары «имя-значение» используется для определения общих ключей (столбцов) между двумя таблицами для объединения.
Вы не можете использовать этот аргумент пары имя-значение с 'LeftKeys' и 'RightKeys' аргументы пары имя-значение.
Пример: 'Keys','MANAGER_ID'
Типы данных: char | string | cell
'LeftKeys' - Левые клавишиЛевая клавиша, заданная как разделенная запятыми пара, состоящая из 'LeftKeys' и символьный вектор, строковый скаляр, клеточный массив символьных векторов или строковый массив. Укажите вектор символа или скаляр строки для указания одной клавиши. Для нескольких ключей укажите массив ячеек из символьных векторов или строковый массив. Этот аргумент пары имя-значение определяет ключи в левой таблице для соединения с правой таблицей.
Используйте этот аргумент пары имя-значение с 'RightKeys' аргумент пары имя-значение. Оба аргумента должны указывать одинаковое количество ключей. sqlinnerjoin функция совмещает значения клавиш в зависимости от их порядка.
Пример: 'LeftKeys',["productNumber" "Price"],'RightKeys',["productNumber" "Price"]
Типы данных: char | string | cell
'RightKeys' - Правые клавишиПравые клавиши, указанные как разделенная запятыми пара, состоящая из 'RightKeys' и символьный вектор, строковый скаляр, клеточный массив символьных векторов или строковый массив. Укажите вектор символа или скаляр строки для указания одной клавиши. Для нескольких ключей укажите массив ячеек из символьных векторов или строковый массив. Этот аргумент пары имя-значение определяет ключи в правой таблице для соединения с левой таблицей.
Используйте этот аргумент пары имя-значение с 'LeftKeys' аргумент пары имя-значение. Оба аргумента должны указывать одинаковое количество ключей. sqlinnerjoin функция совмещает значения клавиш в зависимости от их порядка.
Пример: 'LeftKeys',["productIdentifier" "Cost"],'RightKeys',["productNumber" "Price"]
Типы данных: char | string | cell
'MaxRows' - Максимальное количество возвращаемых строкМаксимальное количество возвращаемых строк, указанное как пара, разделенная запятыми, состоящая из 'MaxRows' и положительный числовой скаляр. По умолчанию sqlinnerjoin функция возвращает все строки из выполненного SQL-запроса. Этот аргумент пары имя-значение используется для ограничения количества строк, импортированных в MATLAB ®.
Пример: 'MaxRows',10
Типы данных: double
'VariableNamingRule' - Правило именования переменных"modify" (по умолчанию) | "preserve"Правило именования переменных, указанное как пара, разделенная запятыми, состоящая из 'VariableNamingRule' и одно из этих значений:
"modify" - Удаление символов, отличных от ASCII, из имен переменных sqlinnerjoin функция импортирует данные.
"preserve" - Сохранение большинства имен переменных при sqlinnerjoin функция импортирует данные. Дополнительные сведения см. в разделе Ограничения.
Пример: 'VariableNamingRule',"modify"
Типы данных: string
data - Объединенные данныеОбъединенные данные, возвращаемые в виде таблицы, содержащей совпадающие строки из соединения левой и правой таблиц. data также содержит переменную для каждого столбца в левой и правой таблицах.
Для столбцов, имеющих numeric типы данных в таблице базы данных, переменные типы данных в data являются double по умолчанию. Для столбцов с текстом: date, time, или timestamp типы данных в таблице базы данных, переменные типы данных являются массивами ячеек символьных векторов по умолчанию.
Если имена столбцов являются общими для объединенных таблиц базы данных и имеют один и тот же регистр, то sqlinnerjoin функция добавляет уникальный суффикс к соответствующим именам переменных в data.
Аргумент пары имя-значение 'VariableNamingRule' имеет следующие ограничения:
sqlinnerjoin функция возвращает ошибку при использовании 'VariableNamingRule' аргумент пары имя-значение с SQLImportOptions объект opts.
Когда 'VariableNamingRule' аргумент пары имя-значение установлен в значение 'modify':
Имена переменных Properties, RowNames, и VariableNames являются зарезервированными идентификаторами для table тип данных.
Длина каждого имени переменной должна быть меньше числа, возвращаемого namelengthmax.
close | database | sqlfind | sqlouterjoin | sqlread
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.