相关子查询的执行顺序
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比较 然后返回 想要显示的名字 这个内部不能返回两个值 因为你这种写法子查询只能有一个返回值