Внешнее соединение между двумя таблицами базы данных
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.