asc是升序的意思 默承认以不写 desc是降序算法
select * from emp order by sal; -- //若是不加什么排序标准的话,则默认是按照升序排序 -- //下面咱们来分析这条sql命令 -- //首先会执行这个from emp,来找到emp表。 -- //而后执行order by sal,按照sal这个字段进行升序排序 -- //注意这个order by这个命令,我认为,在这个sql命令的底层中应该用了某种算法。 -- //当第一次执行到order by sal 的时候,他应该就能遍历整个emp表的sal字段 -- //而后按照sal这个字段的值进行排序。 -- //这时候每条记录都以sal这个字段的值按升序排好了 -- //而后开始查询第一条记录,而且输出第一条记录全部字段的值 -- //而后查询第二条记录,而后第三条记录。。。。。。 -- //直到查询到最后一条记录
咱们能够看到sal这个字段的值都在增长sql
select * from emp order by deptno, sal -- //先按照deptno升序排序,若是deptno相同,再按照sal升序排序 -- //执行的的顺序和上面同样。
咱们能够看到deptno是按升序排序的,当deptno相同时,再按照sal进行升序排序数据库
由于比较简单,因此下面的例子我就不一一分析了code
select * from emp order by deptno desc, sal; --先按deptno降序排序 若是deptno相同 再按照sal升序排序 --记住sal是升序不是降序 --order by a desc, b, c, d desc只对a产生影响 不会对后面的b c d 产生影响 select * from emp order by deptno, sal desc --问题:desc是否会对deptno产生影响? --答案:不会 --先按deptno升序,若是deptno相同,再按sal降序
这一讲就到这里,下一讲咱们来讲模糊查询
若是还有什么不懂的,能够加我qq485536603blog