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