Начало » Использование СУБД » Microsoft SQL Server » Left Join и результат
Left Join и результат [сообщение #5123] |
Fri, 07 June 2024 15:25 |
slavakvs
Сообщений: 3 Зарегистрирован: June 2024
|
Junior Member |
|
|
Всем здоровья.
Давно не использовал в запросах Left join, и столкнулся с такой ситуацией
первый запрос
SELECT u.id, U.U_Name , x.id_id,X.S_Kolvo
FROM dbo.T_Uslug U
left JOIN ( select b.id_id, b.S_Kolvo from dbo.T_ZSostav B WHERE B.T_Typ = 2 AND B.id_Zakaz = 102525 and b.id_id<1000000 ) X ON (U.id =X.id_id )
результат извлечено 363 записи
второй запрос
SELECT u.id, U.U_Name , x.id_id,X.S_Kolvo
FROM dbo.T_Uslug U
left JOIN dbo.T_ZSostav X ON (U.id = X.id_id)
WHERE X.T_Typ = 2 AND X.id_Zakaz = 102525 and x.id_id<1000000
вернул 87 записей
Вопрос почему второй запрос вернул данные как будто запрос Inner Join?
|
|
|
|
Re: Left Join и результат [сообщение #5126 является ответом на сообщение #5124] |
Fri, 07 June 2024 16:12 |
slavakvs
Сообщений: 3 Зарегистрирован: June 2024
|
Junior Member |
|
|
МП писал(а) Fri, 07 June 2024 15:55потому шо ты так просил.
ЗЫ: задача из учебника.
Я просил вот так
LEFT [OUTER] JOIN
Левое внешнее соединение возвращает все строки из таблицы, указанной слева от слова JOIN. Если для некоторых строк из левой таблицы нет со ответствующих строк в правой, то они все равно не отбрасываются, при
этом в столбцы, соответствующие правой таблице, помещаются значения NULL. Хорошим тоном считается не смешивать использование правых и левых соединений, а использовать всегда только левое соединение.
Если знаете, где я неверно просил, поправьте, или не показывайте свою некомпетентность.
|
|
|
|
|
|
Переход к форуму:
Текущее время: Thu Nov 21 13:43:35 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00623 секунд
|