Внешнее соединение между двумя таблицами базы данных
возвращает таблицу, следующую из внешнего соединения между левыми и правыми таблицами базы данных. Эта функция совпадает со строками с помощью всех разделяемых столбцов или ключей, в обеих таблицах базы данных. Внешнее соединение сохраняет совпадающие и несопоставленные строки между этими двумя таблицами. Выполнение этой функции является эквивалентом записи 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 — Стол, из-за которого встают,Стол, из-за которого встают, заданный как вектор символов или скаляр строки. Задайте имя таблицы базы данных на левой стороне соединения.
Пример: 'inventoryTable'
Типы данных: char | string
righttable — Правильная таблицаПравильная таблица, заданная как вектор символов или скаляр строки. Задайте имя таблицы базы данных на правой стороне соединения.
Пример: 'productTable'
Типы данных: char | string
Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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' ключиКлючи, заданные как разделенная запятой пара, состоящая из 'Keys' и вектор символов, представьте в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Используйте этот аргумент пары "имя-значение", чтобы идентифицировать разделяемые ключи между этими двумя таблицами, чтобы присоединиться.
Вы не можете использовать этот аргумент пары "имя-значение" с 'LeftKeys' и 'RightKeys' аргументы в виде пар имя-значение.
Пример: 'Keys','MANAGER_ID'
Типы данных: char | string | cell
'LeftKeys' 'LeftKeys' Оставленные ключи, заданные как разделенная запятой пара, состоящая из 'LeftKeys' и вектор символов, представьте в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Этот аргумент пары "имя-значение" идентифицирует ключи в столе, из-за которого встают, для соединения к правильной таблице.
Используйте этот аргумент пары "имя-значение" с 'RightKeys' аргумент пары "имя-значение". Оба аргумента должны задать то же количество ключей. sqlouterjoin функциональные пары значения ключей на основе их порядка.
Пример: 'LeftKeys',["productNumber" "Price"]
Типы данных: char | string | cell
'RightKeys' 'RightKeys' Правильные ключи, заданные как разделенная запятой пара, состоящая из 'RightKeys' и вектор символов, представьте в виде строки скаляр, массив ячеек из символьных векторов или массив строк. Задайте вектор символов или представьте скаляр в виде строки, чтобы указать на один ключ. Для нескольких ключей задайте массив ячеек из символьных векторов или массив строк. Этот аргумент пары "имя-значение" идентифицирует ключи в правильной таблице для соединения к вставшему столу.
Используйте этот аргумент пары "имя-значение" с 'LeftKeys' аргумент пары "имя-значение". Оба аргумента должны задать то же количество ключей. sqlouterjoin функциональные пары значения ключей на основе их порядка.
Пример: 'RightKeys',["productNumber" "Price"]
Типы данных: char | string | cell
'MaxRows' — Максимальное количество строк, чтобы возвратитьсяМаксимальное количество строк, чтобы возвратиться, заданный как разделенная запятой пара, состоящая из 'MaxRows' и положительный числовой скаляр. По умолчанию, sqlouterjoin функция возвращает все строки в выполняемый SQL-запрос. Используйте этот аргумент пары "имя-значение", чтобы ограничить количество строк, импортированных в MATLAB®.
Пример: 'MaxRows',10
Типы данных: double
'Type' — Тип внешнего соединения'full' (значение по умолчанию) | 'left' | 'right'Тип внешнего соединения, заданный как разделенная запятой пара, состоящая из 'Type' и одно из этих значений:
'full' — Полное соединение получает записи, которые имеют совпадающие значения в выбранном столбце обеих таблиц и несопоставленные записи от обоих левые и правые таблицы.
'left' — Левое соединение получает записи, которые имеют совпадающие значения в выбранном столбце обеих таблиц и несопоставленные записи из вставшего стола только.
'right' — Правильное соединение получает записи, которые имеют совпадающие значения в выбранном столбце обеих таблиц и несопоставленные записи из правильной таблицы только.
Можно задать эти значения как вектор символов или представить скаляр в виде строки.
Не все базы данных поддерживают все типы соединения. Для неподдерживаемой базы данных необходимо использовать sqlread функция, чтобы импортировать данные из обеих таблиц в MATLAB. Затем используйте sqlouterjoin функционируйте к объединяющим таблицам в рабочем пространстве MATLAB.
Пример: 'Type','left'
data — Данные, к которым соединяют,Данные, к которым соединяют, возвращенные как таблица, которая содержит строки, соответствующие ключами в левых и правых таблицах базы данных и сохраненных несопоставленных строках. data также содержит переменную для каждого столбца в левых и правых таблицах.
По умолчанию типами данных переменных является double для столбцов, которые имеют numeric типы данных в таблице базы данных. Для любого текста, dateВремя, или timestamp типы данных в таблице базы данных, типы данных переменных являются массивом ячеек из символьных векторов по умолчанию.
Если имена столбцов совместно используются таблицами базы данных, к которым соединяют, и имеют тот же случай, то outerjoin функция добавляет уникальный суффикс в соответствующие имена переменных в data.
Переменные в data это соответствует столбцам в столе, из-за которого встают, содержат NULL значения, когда никакие совпадающие строки не существуют в правильной таблице базы данных. Точно так же переменные, которые соответствуют столбцам в правильной таблице, содержат NULL значения, когда никакие совпадающие строки не существуют в левой таблице базы данных.
close | database | sqlfind | sqlinnerjoin | sqlread
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.