SQLzoo刷题-NULL、CASE…WHEN
2020-08-04 20:25
13 查看
是空值
- is NULL,而不是=NULL
COALESCE
- COALESCE函数的作用:
①给空值置默认值
②返回第一个非空值
/* 将没有手机的老师的电话号码置为07986 444 2266 */ SELECT name, COALESCE(mobile,'07986 444 2266') FROM teacher
- COUNT(*)是对行计数,包含NULL行,而COUNT(字段名)则不计NULL
- 特别注意:由于NULL的存在,在连接两个表时,选清楚用left join OR right join
/*筛选每个部门和员工人数。员工不一定是老师,因此有的部门可能没有老师*/ SELECT dept.name,COUNT(teacher.name) FROM teacher RIGHT JOIN dept ON teacher.dept=dept.id/*因为部门可能没有老师,所以用右连接将部门的信息全部保留*/ GROUP BY dept.name
CASE…WHEN
CASE WHEN THEN THEN ELSE END
/*显示每位教师的姓名,如果老师在1或2系,请在后面加上“Sci”,否则显示“Art”*/ SELECT teacher.name ,CASE WHEN dept.id IN (1,2) THEN 'Sci' ELSE 'Art' END FROM teacher teacher LEFT JOIN dept ON (teacher.dept=dept.id)/*显示所有的老师,所以teacher表的信息要全*/
相关文章推荐
- SQL练习(业务级别)
- mongodb数据库
- MySQL简单的DDL操作(简单的增删改查)
- MySQL用户权限管理、DDL(数据定义语言)以及常见约束
- SQLzoo刷题-窗口函数
- MySQL账号管理及DDL
- Mongodb 数据库
- MySqlDay01_表的约束与数据库设计
- Redis安装
- mysql安装与启动
- MySQL数据库菜鸟教程(一)
- MySQL8.0的用户管理与DDL语言
- MySQL用户管理、创建库、引擎及DDL(数据定义语言)
- Oracle 常用脚本之查看数据表、字段、约束、索引等信息
- SqlServer 多表连接、聚合函数、模糊查询、分组查询应用总结(回归基础)
- ERROR 1045 (28000): Access denied for user ‘root‘@‘x.x.x.x‘ (using password: YES/NO)关于mysql远程连接
- mysql安装报错提示
- MYSQL学习笔记,MySQL安装,卸载
- SQL Compare数据库如何解决部署时出现的错误
- wpf EF数据库已经修改了 为什么查询还是没修改