powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод двух связанных таблиц в одну
3 сообщений из 3, страница 1 из 1
Вывод двух связанных таблиц в одну
    #39817380
Kaktyc007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть две таблицы Сотрудники и Ремонт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE [dbo].[Сотрудники] (
    [ИдСотрудника] INT           NOT NULL,
    [Фамилия]      NVARCHAR (50) NULL,
    [Имя]          NVARCHAR (50) NULL,
    [Отчество]     NVARCHAR (50) NULL,
    [Отдел]        NVARCHAR (50) NULL,
    [Должность]    NVARCHAR (50) NULL,
    [Телефон]      NVARCHAR (50) NULL,
    PRIMARY KEY CLUSTERED ([ИдСотрудника] ASC)
);


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE [dbo].[Ремонт] (
    [ИдРемонта]          INT            NOT NULL,
    [ИдСотрудника]       INT            NULL,
    [Дата и время]       SMALLDATETIME  NULL,
    [Проделанная работа] NVARCHAR (MAX) NULL,
    PRIMARY KEY CLUSTERED ([ИдРемонта] ASC),
    CONSTRAINT [FK_Ремонт_ToTable] FOREIGN KEY ([ИдСотрудника]) REFERENCES [dbo].[Сотрудники] ([ИдСотрудника])
);


Мне нужно отобразить их в одной таблице, прочитав Главу 7. Соединение таблиц тута https://metanit.com/sql/sqlserver/7.1.php
Возник вопрос, в чем разница в неявном соединении, во внешнем и внутреннем соединение?
И вообще каким способом лучше соединять между собой две связанные таблицы в одну?
...
Рейтинг: 0 / 0
Вывод двух связанных таблиц в одну
    #39817399
Kaktyc007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполнил
Неявное соединение таблиц
Код: sql
1.
2.
3.
Select * 
From Ремонт, Сотрудники 
Where Ремонт.ИдСотрудника=Сотрудники.ИдСотрудника 



Внутреннее соединение таблиц INNER JOIN
Код: sql
1.
2.
3.
Select Ремонт.ИдРемонта, Ремонт.ИдОборудования, Сотрудники.Фамилия, Ремонт.[Дата и время] 
From Ремонт 
join Сотрудники on Сотрудники.ИдСотрудника=Ремонт.ИдСотрудника 



внешнее соединение или OUTER JOIN
Код: sql
1.
2.
3.
Select ИдРемонта, ИдОборудования, Фамилия, [Дата и время] 
From Ремонт LEFT JOIN Сотрудники 
on Ремонт.ИдСотрудника=Сотрудники.ИдСотрудника


Результат один и тот же: https://imgur.com/azAq8tk
Дак в чем же разница?
...
Рейтинг: 0 / 0
Вывод двух связанных таблиц в одну
    #39817419
NetObserver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kaktyc007,

1.Неяное соединение = внутренние соединение,
Просто синтаксис разный.

2.Если будет запись в таблице Ремонт, а Сотрудника НЕ найдется, то

Left join - ты это увидишь - в полях Сотрудники будет Null.
Inner join - ты этого не увидишь, строка из Ремонта не попадет в выборку.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод двух связанных таблиц в одну
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]