Внешнее соединение между двумя таблицами базы данных
data = sqlouterjoin(conn,lefttable,righttable)
data = sqlouterjoin(conn,lefttable,righttable,Name,Value)
возвращает таблицу, следующую из внешнего соединения между левыми и правыми таблицами базы данных. Эта функция совпадает со строками с помощью всех разделяемых столбцов или ключей, в обеих таблицах базы данных. Внешнее соединение сохраняет совпадающие и несопоставленные строки между этими двумя таблицами. Выполнение этой функции является эквивалентом записи SQL-оператора data
= sqlouterjoin(conn
,lefttable
,righttable
)SELECT * FROM lefttable,righttable OUTER JOIN lefttable.key = righttable.key
.
дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение". Например, data
= sqlouterjoin(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
является правильной таблицей соединения. Функция sqlouterjoin
автоматически обнаруживает разделяемый столбец между таблицами.
data
является таблицей, которая содержит совпадающие и несопоставленные строки из этих двух таблиц.
lefttable = 'productTable'; righttable = 'suppliers'; data = sqlouterjoin(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
является правильной таблицей соединения. Функция sqlouterjoin
автоматически обнаруживает разделяемый столбец между таблицами. Задайте каталог toy_store
и схему dbo
для обоих левые и правые таблицы. Используйте аргументы пары "имя-значение" 'LeftCatalog'
и 'LeftSchema'
для стола, из-за которого встают и аргументы пары "имя-значение" 'RightCatalog'
и 'RightSchema'
для правильной таблицы.
data
является таблицей, которая содержит совпадающие и несопоставленные строки из этих двух таблиц.
lefttable = 'productTable'; righttable = 'suppliers'; data = sqlouterjoin(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 = sqlouterjoin(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 = sqlouterjoin(conn,lefttable,righttable,'LeftKeys','MANAGER_ID', ... 'RightKeys','DEPT_MANAGER_ID');
Отобразите последние три несопоставленных строки данных, к которым соединяют. Отобразите последние пять переменных данных, к которым соединяют.
tail(data(:,end-4:end),3)
ans = 3×5 table DEPARTMENT_ID DEPARTMENT_ID_1 DEPARTMENT_NAME DEPT_MANAGER_ID LOCATION_ID _____________ _______________ _________________ _______________ ___________ NaN 230 'IT Helpdesk' NaN 1700 NaN 40 'Human Resources' 203 2400 NaN 10 'Administration' 200 1700
Закройте соединение с базой данных.
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'
. Создайте правильное соединение с помощью аргумента пары "имя-значение" 'Type'
.
lefttable = 'employees'; righttable = 'departments'; data = sqlouterjoin(conn,lefttable,righttable,'LeftKeys','MANAGER_ID', ... 'RightKeys','DEPT_MANAGER_ID','Type','right');
data
является таблицей, которая содержит совпадающие строки из этих двух таблиц и несопоставленные строки из правильной таблицы только.
Отобразите последние три несопоставленных строки данных, к которым соединяют. Отобразите последние пять переменных данных, к которым соединяют.
tail(data(:,end-4:end),3)
ans = 3×5 table DEPARTMENT_ID DEPARTMENT_ID_1 DEPARTMENT_NAME DEPT_MANAGER_ID LOCATION_ID _____________ _______________ _______________ _______________ ___________ NaN 250 'Retail Sales' NaN 1700 NaN 260 'Recruiting' NaN 1700 NaN 270 'Payroll' NaN 1700
Закройте соединение с базой данных.
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
является правильной таблицей соединения. Функция sqlouterjoin
автоматически обнаруживает разделяемый столбец между таблицами. Задайте количество строк, чтобы возвратить использование аргумента пары "имя-значение" 'MaxRows'
.
lefttable = 'productTable'; righttable = 'suppliers'; data = sqlouterjoin(conn,lefttable,righttable,'MaxRows',3)
data = 3×10 table productNumber stockNumber supplierNumber unitCost productDescription SupplierNumber SupplierName City Country FaxNumber _____________ ___________ ______________ ________ __________________ ______________ _____________________________ ___________ _______________ _______________ 7 3.8912e+05 1007 16 'Engine Kit' 1007 'Garvin's Electrical Gizmos' 'Wellesley' 'United States' '617 919 3456' 8 2.1257e+05 1001 5 'Train Set' 1001 'Wonder Products' 'New York' 'United States' '212 435 1617' 9 1.2597e+05 1003 13 'Victorian Doll' 1003 'Wacky Widgets' 'Adelaide' 'Australia' '618 8490 2211'
data
является таблицей, которая содержит три из совпадающих и несопоставленных строк из этих двух таблиц. Столбцы из правильной таблицы появляются справа от столбцов из вставшего стола.
Закройте соединение с базой данных.
close(conn)
conn
— Соединение с базой данныхconnection
Соединение с базой данных, заданное как объект connection
, создается с функцией database
.
lefttable
— LeftСтол, из-за которого встают, заданный как вектор символов или скаляр строки. Задайте имя таблицы базы данных на левой стороне соединения.
Пример: 'inventoryTable'
Типы данных: char | string
righttable
— RightПравильная таблица, заданная как вектор символов или скаляр строки. Задайте имя таблицы базы данных на правой стороне соединения.
Пример: 'productTable'
Типы данных: char | string
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
data = sqlouterjoin(conn,lefttable,righttable,'Type','left','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'
и вектора символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Используйте этот аргумент пары "имя-значение", чтобы идентифицировать разделяемые ключи между этими двумя таблицами, чтобы присоединиться.
Вы не можете использовать этот аргумент пары "имя-значение" с аргументами пары "имя-значение" 'LeftKeys'
и 'RightKeys'
.
Пример: 'Keys','MANAGER_ID'
Типы данных: char
| string
| cell
'LeftKeys'
— LeftОставленные ключи, заданные как пара, разделенная запятой, состоящая из 'LeftKeys'
и вектора символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Этот аргумент пары "имя-значение" идентифицирует ключи в столе, из-за которого встают, для соединения к правильной таблице.
Используйте этот аргумент пары "имя-значение" с аргументом пары "имя-значение" 'RightKeys'
. Оба аргумента должны задать то же количество ключей. Функция sqlouterjoin
соединяет значения ключей на основе их порядка.
Пример: 'LeftKeys',["productNumber" "Price"]
Типы данных: char
| string
| cell
'RightKeys'
— RightПравильные ключи, заданные как пара, разделенная запятой, состоящая из 'RightKeys'
и вектора символов, представляют в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Этот аргумент пары "имя-значение" идентифицирует ключи в правильной таблице для соединения к вставшему столу.
Используйте этот аргумент пары "имя-значение" с аргументом пары "имя-значение" 'LeftKeys'
. Оба аргумента должны задать то же количество ключей. Функция sqlouterjoin
соединяет значения ключей на основе их порядка.
Пример: 'RightKeys',["productNumber" "Price"]
Типы данных: char
| string
| cell
'MaxRows'
— Максимальное количество строк, чтобы возвратитьсяМаксимальное количество строк, чтобы возвратиться, заданный как пара, разделенная запятой, состоящая из 'MaxRows'
и положительного числового скаляра. По умолчанию функция sqlouterjoin
возвращает все строки в выполняемый SQL-запрос. Используйте этот аргумент пары "имя-значение", чтобы ограничить количество строк, импортированных в MATLAB®.
Пример: 'MaxRows',10
Типы данных: double
Ввод
Тип внешнего соединения'full'
(значение по умолчанию) | 'left'
| 'right'
Тип внешнего соединения, заданный как пара, разделенная запятой, состоящая из 'Type'
и одно из этих значений:
полный
Полное соединение получает записи, которые имеют совпадающие значения в выбранном столбце обеих таблиц и несопоставленные записи от обоих левые и правые таблицы.
'left'
— Левое соединение получает записи, которые имеют совпадающие значения в выбранном столбце обеих таблиц и несопоставленные записи из вставшего стола только.
'right'
— Правильное соединение получает записи, которые имеют совпадающие значения в выбранном столбце обеих таблиц и несопоставленные записи из правильной таблицы только.
Можно задать эти значения как вектор символов или представить скаляр в виде строки.
Не все базы данных поддерживают все типы соединения. Для неподдерживаемой базы данных необходимо использовать функцию sqlread
, чтобы импортировать данные из обеих таблиц в MATLAB. Затем используйте функцию sqlouterjoin
для объединяющих таблиц в рабочем пространстве MATLAB.
Пример: 'Type','left'
данные
Данные, к которым соединяют,Данные, к которым соединяют, возвращенные как таблица, которая содержит строки, соответствующие ключами в левых и правых таблицах базы данных и сохраненных несопоставленных строках. data
также содержит переменную для каждого столбца в левых и правых таблицах.
По умолчанию типами данных переменных является double
для столбцов, которые имеют типы данных numeric
в таблице базы данных. Для любого текста, date
, time
или типов данных timestamp
в таблице базы данных, типы данных переменных являются массивом ячеек из символьных векторов по умолчанию.
Если имена столбцов совместно используются таблицами базы данных, к которым соединяют, и имеют тот же случай, то функция outerjoin
добавляет уникальный суффикс в соответствующие имена переменных в data
.
Переменные в data
, которые соответствуют столбцам в столе, из-за которого встают, содержат значения NULL
, когда никакие совпадающие строки не существуют в правильной таблице базы данных. Точно так же переменные, которые соответствуют столбцам в правильной таблице, содержат значения NULL
, когда никакие совпадающие строки не существуют в левой таблице базы данных.
close
| database
| sqlfind
| sqlinnerjoin
| sqlread
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.