INNER JOIN

Объединение, это одновременное извлечение информации из двух или нескольких таблиц и отображение этих данных в одном результирующем наборе.

INNER JOIN или JOIN — это внутреннее объединение.
Синтаксис
SELECT имя_столбцa(ов)
FROM имя_таблицы_1
INNER JOIN имя_таблицы_2
ON имя_таблицы_1.имя_столбцa = имя_таблицы_2.имя_столбцa
Скрыть

Показать

Копировать
  Script.sql  
--создание базы
CREATE DATABASE zzz
GO
 --выбор базы
USE zzz
GO
/*РОДИТЕЛЬСКАЯ ТАБЛИЦА-СПРАВОЧНИК*/
--создание таблицы
CREATE TABLE Author (
 IDAuthor INT NOT NULL PRIMARY KEY IDENTITY(1, 1), 
 Name NVARCHAR(50) NOT NULL, 
)
--вставляем данные
INSERT INTO Author(Name) VALUES
(N'Пушкин А.С.'),
(N'Лермонтов М.Ю.'),
(N'Гоголь Н.В.')
 
/*ДОЧЕРНЯЯ ТАБЛИЦА*/
--создание таблицы
CREATE TABLE Book (
 IDBook INT NOT NULL PRIMARY KEY IDENTITY(1, 1),
 /*
 создание внешнего ключа, который ссылается
 на первичный ключ родительской таблицы
 */
 IDAuthor INT NOT NULL FOREIGN KEY REFERENCES Author(IDAuthor),
 Name NVARCHAR(1000) NOT NULL,
 Amount INT NOT NULL,
 Price MONEY NOT NULL
)
--вставляем данные
INSERT INTO Book(IDAuthor, Name, Amount, Price) VALUES
(3, N'Мертвые души', 5, 10.25),
(1, N'Дубровский', 10, 12.45),
(3, N'Вечера на хуторе', 15, 13.85),
(2, N'Мцыри', 20, 18.15),
(1, N'Онегин', 25, 21.70)
--вывод данных
SELECT Book.Name AS [Название], Author.Name AS [Автор], Book.Amount AS [Количество], Book.Price AS [Цена]
FROM Book
INNER JOIN Author
ON Book.IDAuthor = Author.IDAuthor
 
Название Автор Количество Цена
Мертвые души Гоголь Н.В. 5 10,25
Дубровский Пушкин А.С. 10 12,45
Вечера на хуторе Гоголь Н.В. 15 13,85
Мцыри Лермонтов М.Ю. 20 18,15
Онегин Пушкин А.С. 25 21,70