编写查询语句思路
/*
1、首先确定最终输出结果的列,包括几个方面:A、首先这些列来自于一个
表、还是多个表,如果是多个表则可能用到多表查询的(等值连接、不等值
连接、外连接、自连接);B、这些列是直接的表的字段还是对表字段的函数
、运算、分组、查询(则用到列的子查询);B、列是否需要别名
2、确定输出的列和列的条件是否来自多表,如果来自多表则用多表查询
3、确定输出的字段对应的条件是单纯的数值还是要通过子查询才能获得、如
果用用到子查询,则where 子句要用到子查询。
4、根据输出的结果和条件判断是否要用到group by(但凡是有分类、统计
分组、最大、最小、平均、每个等字眼,则用到group by)
5、在根据输出的条件中是否关心分组之后的处理,如过滤,条件限定,如果有
则要用到having (如果分组过滤后比较的是一个不确定的条件,则having中
要用到子查询)
6、最后再根据输出格式要求确定是否需要排序,如果需要,则用order by
*/
/*
select distinct * 列 别名 表达式 函数 列运算 子查询
from 表1 表别名 表2 别名 子查询
where 条件 比较 > >= < <= <>
范围 between and
in
like % _
组合 or and not
子查询
group by rollup(A,B,C)/CUBE(A,B,C)
having 分组函数(MAX、MIN、AVG、Count、SUM) 条件 > 普通的值/子查询
order by 列 别名 数字
*/

posted on 2018-03-15 16:10  新美好时代  阅读(1717)  评论(1编辑  收藏  举报