1、是子查询
2、t是子查询的别名
3、case when有两种写法,你最好自己多看看联机帮助

解决方案 »

  1.   

    (...)t
    这里的t
    是括号里 语句 产生的行集的别名.select 后面可以不接 from
    如果接了from 一定要有一个行集对象,可以是表,视图,子查询(带别名)"查询出来的虚表",也就是一个行集, 需要指定别名。这是语法要求。
    case when 里面的随意摆放,我不清楚你说的随意摆放指的什么。不用这个的话,还是按语文数学,这样的次序排,确实,你把 子查询里 union all的位置换一下看看。即便不换也有几种情况不会按语文数学这样的情况排:
    1,表里的一些物理位置及联合操作后内存中产生的行集的顺序,不一定就是这样排的
    2,当用动态生成的语句时,()里的union all语句是不确定的,也即先后位置就不确定,加上 case when 来排序强制按语文数学这样排
      

  2.   

    非常感谢楼上的  月儿~~~你的解答很详细,然后还想问下的,关于sql的增 删 改 查 语句的具体语法结构详细内容全部在联机文档里面都能看到是嘛?