Select из двух таблиц
Автор Ёергей Казаков задал вопрос в разделе Другие языки и технологии
SQL запрос из двух таблиц и получил лучший ответ
Ответ от Александр Краповницкий[гуру]
Join бывает явный и не явный. Если вы пишете Join то это явный. Если просто "FROM Files, Clients " то не явный.
Не явный join по сути просто удобство синтаксиса, сервер сам соорудит join. Другое дело что он может быть не того типа который вам нужен. Если на каждую Files приходится 1 запись из таблицы клиенты то вам подойдёт left join или left outer join что является одним и тем же.
Явный join делается так.
select f.Field1, f.Field2, c.ClientName, c.ClientAddress
from Files as f
left outer join Clients c on f.INNx = c.INNx
where c.ClientName like '%Гастроном%'
Ответ от ACiD[гуру]
второй вариант благоприятнее, сам я не знаю чем, но один спец по базам начинал возражать против join'ов если речь шла про объединение таблиц
второй вариант благоприятнее, сам я не знаю чем, но один спец по базам начинал возражать против join'ов если речь шла про объединение таблиц
Ответ от Новиков Федор[гуру]
INNER JOIN абсолютно равнозначен условиям в WHERE. Если СУБД позволяет посмотреть план выполнения запроса - можно увидеть, что никакой разницы нет. OUTER JOIN через WHERE так понятно описать не получится. Так что, пишите, как Вам понятнее, пр
INNER JOIN абсолютно равнозначен условиям в WHERE. Если СУБД позволяет посмотреть план выполнения запроса - можно увидеть, что никакой разницы нет. OUTER JOIN через WHERE так понятно описать не получится. Так что, пишите, как Вам понятнее, пр
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: SQL запрос из двух таблиц