#sql-server #join
#sql-сервер #Присоединиться
Вопрос:
В настоящее время я работаю sql
и хочу изучить объединения. Я начал с inner join
, и у меня есть очень простой вопрос:
select distinct brandname from zonerpm where
trainer=@tname and companyname=(select id from companydetails where comname=@companyname)
Я хочу присоединиться к оператору, и я хочу узнать, как работают объединения.
Я хочу узнать, как это работает, и stackoverflow — лучшая платформа для этого, к которой я могу присоединиться, когда в операторе есть одно предложение where, но в этом операторе есть два предложения where. именно здесь я ударил.
Комментарии:
1. Для объединения в этих таблицах должны быть общие столбцы.
Ответ №1:
Вы используете подзапрос, sql рассматривает подзапрос как другой подзапрос запроса, это не очень хорошая идея, это занимает много времени, а не join. если у вас есть столбец в brandname
таблице, который содержит companydetails
таблицу foreignkey
, вы можете попробовать выполнить запрос ниже.
select distinct zonerpm.brandname,companydetails.id from zonerpm
inner join companydetails ON zonerpm.company_id=companydetails.id
where trainer=@tname
Ответ №2:
select distinct z.brandname from zonerpm z left join companydetails cd
on cd.companyname=z.companyname where
z.trainer=@tname;
z — это имя объекта для zonerpm
cd — это имя объекта для companydetails