自己先列出个列表,where后面可跟的关键字是哪些?
我先以你拿出的为例,谈谈:
总体的轮廓是:
select * from table 
where 条件=?
group by 分组字段
order by 排序字段;
exists用法跟in类似,用于做条件限制的,如果要用它,它只能放在条件部分
group by是用来分组的,它放在where条件之后
order by 排序用的,放到最后。

解决方案 »

  1.   

    查询中用到的关键词主要包含六个,并且他们的顺序依次为
    select--from--where--group by--having--order by
      

  2.   

    exist主要用在外循环中,in主要是内循环
      

  3.   


    那要是这样写exist(select 1 from dual --) group by 2 and having count(1)>=5这样写,是先执行exist,还是先执行group by这些语句之后再判断
      

  4.   

    版主,你好,那要是有个 order by)rownum>=1这个语句这样写,是排序好在,再从排序号的结果中选取第一条么?
      

  5.   


    你语法错了 rownum>=1 没结果吧?
      

  6.   

    你好,是先group by,然后再having ,再order by 么,还是返回来的?
      

  7.   

    版主大大,你好可以,解释下是不是先group by在执行having 再执行order by么?还是反过来的?
      

  8.   


    having 是依赖于group by的,所以它放在group by 后面,跟group by 算是一个整体,放在order by 前面
      

  9.   

    你好,那是先执行gruop by 还是先order by。以前是记从where开始最后一个关键字开始往左进行,是这样的么?比如最后一个关键字是order by,是先排序好了,在进行group by分组么。菜鸟一只,问的有点弱,见谅下哈。
      

  10.   

    order by 都是最后执行。group by 和where 都是在order by 执行前。
    你就记住,SQL的执行顺序是:先where 后group by 最后order by 就行。学习慢慢来,都有个过程。祝你早日学成。
      

  11.   

    那请问下,where +条件,应该是先执行完条件,在group by 最后再order by吧。
    先谢谢你了!