日期:2014-05-17  浏览次数:20606 次

连接查询改为嵌套查询
初学sql,程序中遇到个查询语句是这样的
select StuInfo.Num as 学号, StuInfo.Name as 姓名,StuInfo.Sex as 性别,
StuInfo.ID as 身份证号,Nation.NationName as 民族,Class.ClassName as 班级名称
from StuInfo,Nation,Class where  StuInfo.NationID=Nation.NationID and StuInfo.ClassID=Class.ClassID



请问下这个能改成嵌套查询吗,能改的话该怎样写,还有就是这种查询条件下,是嵌套效率高还是上面那种连接查询(应该是连接查询吧?)效率高...先谢过了
SQL select

------解决方案--------------------
三个表的列都需要显示,不可做嵌套
------解决方案--------------------
正如大版所说,根据你SELECT后面需要显示的字段,只能用联接查询。
如果StuInfo.NationID,Nation.NationID,StuInfo.ClassID,Class.ClassID这几个字段有合适索引的话,肯定是联接查询效率高。