一、汇总函数
- 注:汇总函数,如果输入是列名,计算会把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把这些值排序在下面