WHERE命令: 1.书写顺序: SELECT 字段名,函数,子查询 FROM 表文件 WHERE 关系运算/逻辑运算 2.执行顺序:FROM-->WHERE-->SELECT 3.WHERE作用: 循环遍历临时表所有的数据行,每次得到一个数据行,根据数据行信息判断数据行是否需要被定位,在循环完毕后, where命令将所有定位的数据行读取出来,在内存生成一个临时表对这些数据进行保存。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
需求: 查询所有职位是clerk的职员姓名、岗位和工资信息 SQL语句: SELECT ENAME,JOB,SAL FROM EMP WHERE JOB = 'CLERK'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第一步:FROM EMP 该命令的执行会在内存中生成一个与源表一样的临时表(第一个临时表) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第二步: WHERE JOB = 'CLERK' 1.循环遍历时,定位职位是clerk的数据行 2.循环遍历结束后,将满足定位条件的数据行读取出来,生成一个全新的临时表(第二个临时表),第二个临时表生成后,第一个临时表被销毁。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第三步: select ename, job, sal 对上一个(第二个)临时表进行操作,开始根据查询内容进行切蛋糕,将相应的数据信息组成新的临时表(第三个临时表)。该临时表生成之后,第二个临时表被销毁。然后MySQL服务器就会将第三个临时表作为最后的查询结果推送给客户端供操作者查阅。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
SQL查询语句分步详解——SELECT...FROM...WHERE...
于 2023-01-07 09:57:59 首次发布