一、匯總函數
- 注:匯總函數,如果輸入是列名,計算會把null 排除在外,count(*)對所有的行進行計數

二、如何用sql解決業務問題
- 注1:空值(null)的排序,排序是最小的,例如select * from tea order by tea_name
- 注2:指定排序返回的行數:Limit x,y=limit y offset x,返回前y行

三、sql的運行順序
- sql-查詢及注意事項 - zyzy的文章 - 知乎 https://zhuanlan.zhihu.com/p/335547824
四、報錯信息
- 在報錯行的前后行尋找,逗號沒寫或者是語法的錯誤
- 字符串類型的數字:字符串類型的規則與數字不同,遇到類似的問題,先修改數據類型為數值類型,在進行排序
五、練習題
- 問1:如果字符串中包含單引號或雙引號,該怎么處理?比如Eugene O'Neill?
- 答1:使用sql的轉義字符。在字符串中,有些符號有特殊含義,比如Eugene O'Neill中的單引號('),使用兩個單引號('')表示字符串里面的單引號('),也就是轉義字符
- 問2:查找1984年獲獎者和主題按主題和獲勝者名稱排序,并把化學獎和物理獎排到最后面顯示select winner, subjectfrom nobel where yr=1984 order by subject in ('Physics','Chemistry'),subject,winner;
- 答2:subject in ('Physics','Chemistry')返回值(0或者1),會對每一個subject做一個if的判斷,有的是1,沒有的是0再用order by把這些值排序在下面

