首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

相关子查询的执行顺序解决方案

2012-01-02 
相关子查询的执行顺序select*,(selectusernamefrommembermasterasmmwheremm.useridum.userid)fromusermas

相关子查询的执行顺序
select   *   ,(select   username   from   membermaster   as   mm   where   mm.userid=um.userid)   from   usermaster   as   um
象这种语句是怎样的执行过程呢?请前辈帮忙解释一下谢谢

[解决办法]
select * ,(select username from membermaster as mm where mm.userid=um.userid) from usermaster as um

sql都是逐行执行的 所以比如第一次 外面表有个子段 userid 先显示第一行
然后进入子查询 意思也就是第一行的时候userid= 1比如 那么子查询内部就用所有内部表
membermaster内的 userid 和um.userid比较 然后返回 想要显示的名字 这个内部不能返回两个值 因为你这种写法子查询只能有一个返回值

热点排行