【发布时间】:2017-08-11 10:30:30
【问题描述】:
我写了两个查询,一个是子查询
SELECT DISTINCT pp.employeeid
FROM payment pp JOIN Employee e
ON e.employeeid = pp.employeeid WHERE pp.employeeid IN
(SELECT employeeid
FROM employee
WHERE branchid IN
(SELECT branchid
FROM branch
WHERE code IN
(SELECT code
FROM bank p
WHERE code = 15)));
GO
其他的是内连接查询
select DISTINCT pp.employeeid from payment pp inner join employee e
on e.employeeid=pp.employeeid
inner join branch b on b.branchid=e.branchid
inner join bank br on br.code=b.code
where br.code=15
这里两个查询都返回相同的数据,我想问哪个更合适?以及首选使用哪一个..
【问题讨论】:
-
内部连接更具可读性,我猜我认为它更快地查看它必须做什么。
-
更好地使用 JOIN。比较查询计划,可能它们相似,可能不相似
标签: sql-server join subquery