用户通过数据库连接池执行SQL语句过程
用户通过数据库连接池执行SQL语句,通过TCP/IP与数据库通信,数据库获得SQL语句后,数据库交给SQL接口处理 ,再用SQL解析器进行SQL解析,然后通过SQL查询优化器计算出最优查询路径,最后将SQL的执行计划交给执行器执行,执行器调用数据库的存储引擎完成数据库操作。
sql语句的执行顺序
staff
id name dept salary edlevel hiredate
1 张三 开发部 2000 3 2009-10-11
2 李四 开发部 2500 3 2009-10-01
3 王五 设计部 2600 5 2010-10-02
4 王六 设计部 2300 4 2010-10-03
5 马七 设计部 2100 4 2010-10-06
6 赵八 销售部 3000 5 2010-10-05
7 钱九 销售部 3100 7 2010-10-07
8 孙十 销售部 3500 7 2010-10-06
select dept, max(salary) as MAXNUM, MIN(salary) as MINNUM
from staff
where id > 0
group by dept
having count(*) > 2
order by MAXNUM desc
having 是对group的限定,where是对记录的限定
先找到id大于0的所有记录,再按部门分组