比如这个查询语句:
select T1.USERNAME AS '员工姓名',T2.DEPTNAME as '部门名称',sum(T3.BILLMNY) AS '出账收入',sum(T4.LOSTMNY) AS '欠费',sum(T5.PLANMNY) AS '计划值',(SUM(T3.BILLMNY)-SUM(T4.LOSTMNY) )/SUM(T5.PLANMNY) AS '完成率'
from USERINFO AS T1,DEPT AS T2, BILLMNY AS T3,LOSTMNY AS T4,PLANMNY AS T5, DEVPEPO AS T6
where T1.USERID=T5.USERID AND T1.USERID=T6.USERID and T6.DEVPEPO=T3.DEVPEPO AND T6.DEVPEPO=T4.DEVPEPO AND T1.DEPTID=T2.DEPTID AND T5.PLANMNY<>0
group by T1.USERNAME,T2.DEPTNAME
order by (SUM(T3.BILLMNY)-SUM(T4.LOSTMNY) )/SUM(T5.PLANMNY)
这些关键字在程序中的执行顺序是怎样的?谁先谁后?
追答select 是结果无所谓先後顺序没有句子就是错的,
where>group by>order by
where >having(两者都是条件)
必要性:select 必须有,where,group by having ,order by都可以不要