寻sql查询最优化语句

来源:百度知道 编辑:UC知道 时间:2024/06/06 08:48:01
表Class,
字段ID:标识ID
字段ParentID:父ID
根据一个ID,找出和这个ID同一个ParentID的所有记录。

SELECT ID,Name FROM [Class] WHERE ParentID=(select ParentID from [Class] WHERE ID=@classId)

这个语句是否还有更好的写法?谢谢。
原来是自己 提的问题,现在自己给个回答。
SELECT c2.ID,c2.Name FROM [Class] as c1 inner join [Class] as c2 on c1.ParentID=c2.ParentID WHERE c1.ID=@classId

你写的对~
楼上的语句都是错误的只会查ID=@classId的元组。

我是没有想到更好的方法。

大家不会就别瞎写。

SELECT ID,Name FROM Class a Inner join Class b
On a.ID = b.ParentID
WHERE ID=@classId

select ID,Name from
Class a
inner join
Class b
on a.ID = b.ParentID
where a.ID=@classid

你是要语句看起来简洁还是查询速度最快

select ID,Name from
Class a
inner join
Class b
on a.ID = b.ParentID
where a.ID=@classid

其实这样写是最快的...楼主的方法其实查询了两次,效率并不高..

这里应用的是Inner join而不是Left Join,这种关联方式在效率方面要比Left Join强...
所以比较起来,还是这种方法最好..

select ID,Name from
Class a inner join Class b
on a.ParentID = b.ParentID
where a.ID=@classid