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

解决方案 »

  1.   

    select * ,(select username from membermaster as mm where mm.userid=um.userid) from usermaster as um
    这个语句语法错误,无法执行
    select *,username from membermaster,usermaster where membermaster.userid=usermaster.userid
      

  2.   

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