ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

SQL учебник

SQL HOME SQL Intro SQL Syntax SQL Select SQL Select Distinct SQL Where SQL And, Or, Not SQL Order By SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min and Max SQL Count, Avg, Sum SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Null Functions SQL Stored Procedures SQL Comments

SQL Database

SQL Create DB SQL Drop DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting

SQL References

MySQL Functions SQL Server Functions MS Access Functions Oracle Functions SQL Operators SQL Data Types SQL Quick Ref


Ключевое слово внутреннего соединения SQL


Ключевое слово внутреннего соединения SQL

Ключевое слово внутреннее соединение выбирает записи, имеющие совпадающие значения в обеих таблицах.

INNER JOIN Синтаксис

SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

SQL INNER JOIN


Демонстрационная база данных

В этом учебнике мы будем использовать хорошо известную базу данных Northwind Sample.

Ниже представлен выбор из таблицы "Orders":

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

И выбор из таблицы «Клиенты»:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico


Пример внутреннего соединения SQL

Следующая инструкция SQL выбирает все заказы с информацией о клиентах:

Пример

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

Примечание: Ключевое слово внутреннее соединение выделяет все строки из обеих таблиц до тех пор, пока между столбцами существует совпадение. Если в таблице "Orders" есть записи, которые не имеют совпадений в "Customers", эти ордера не будут показаны!


Присоединиться к трем таблицам

Следующая инструкция SQL выбирает все заказы с информацией о клиентах и грузоотправителях:

Пример

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);