SQLZOO练习7–Using NULL

teacher表:

iddeptnamephonemobile 101 1 Shrivell 2753 07986 555 1234 102 1 Throd 2754 07122 555 1920 103 1 Splint 2293 104 Spiregrain 3287 105 2 Cutflower 3212 07996 555 6574 106 Deadyawn 3345

dept表:

idname 1 Computing 2 Design 3 Engineering

1. List the teachers who have NULL for their department.

解题思路: left join,以teacher左表为主表,向左连接。和inner join的区别在于,inner join公共列出现null值时,将忽略null值。

  1. Use a different JOIN so that all departments are listed.

解题思路,right join,以dept右表为主表,向右连接。

Using Coalesce Fuction

5. Use COALESCE to print the mobile number. Use the number ‘07986 444 2266’ if there is no number given. Show teacher name and mobile number or ‘07986 444 2266’

使用coalesce函数,显示教师姓名和电话号码,如果电话号码是空值,用’07986 444 2266’填充

解题思路,colaesce函数是缺失值处理,针对的是null的情况,注意,coalesce函数对空格不起作用。

6. Use the COALESCE function and a LEFT JOIN to print the teacher name and department name. Use the string ‘None’ where there is no department.

7. Use COUNT to show the number of teachers and the number of mobile phones.

  1. Use COUNT and GROUP BY dept.name to show each department and the number of staff. Use a RIGHT JOIN to ensure that the Engineering department is listed.

  1. Use CASE to show the name of each teacher followed by ‘Sci’ if the teacher is in dept 1 or 2 and ‘Art’ otherwise.

使用 CASE 显示每位教师的姓名,如果教师在部门 1 或 2,则显示”Sci”,否则显示”Art”。

解题思路:考察case when

10.Use CASE to show the name of each teacher followed by ‘Sci’ if the teacher is in dept 1 or 2, show ‘Art’ if the teacher’s dept is 3 and ‘None’ otherwise.

使用 CASE 显示每位教师的姓名,如果教师在部门 1 或 2,则显示”Sci”,如果教师的部门是 3,则显示”Art”,否则显示”None”。

解题思路:考察case when 多个条件。

Original: https://www.cnblogs.com/ruoli-121288/p/16310507.html
Author: 徐若离
Title: SQLZOO练习7–Using NULL

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505342/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • mysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before

    mysql初始化密码常见报错问题1,mysql5.6是密码为空直接进入数据库的,但是mysql5.7就需要初始密码 cat /var/log/mysqld.log | grep p…

    数据库 2023年6月16日
    091
  • MYSQL–>视图

    视图就是一种 虚拟存在的表。因为视图的数据不在数据库中实际存在。 视图的行和列的数据都来自于 我们定义视图所使用的表 其中,定义视图所使用的表叫 基表 视图的行和列的数据是在使用视…

    数据库 2023年6月14日
    0122
  • StoneDB 读、写操作的执行过程

    背景介绍 StoneDB 是一款兼容 MySQL 的开源 HTAP 数据库。StoneDB 的整体架构分为三层,分别是应用层、服务层和存储引擎层。应用层主要负责客户端的连接管理和权…

    数据库 2023年5月24日
    0131
  • SpringBoot下使用AOP做日志

    AOP实现接口执行时间的计算: SpringBoot项目导入spring-boot-starter-aop依赖 编写切面类 类上加@Aspect注解,表明这是一个切面类 类上加@C…

    数据库 2023年6月14日
    0179
  • 【JDBC】笔记(3)— 提高用户登录功能的安全性 (javaSE+MySQL+JDBC)[ 应用 PreparedStatement ]

    一.实现功能: 1.解决”应用Statement的登录系统”存在的SQL注入问题2.用户信息表+—-+———…

    数据库 2023年5月24日
    0129
  • Docker Bridge 网络原理

    Docker 的网络子系统是可插拔驱动式的,默认情况下存在或支持多种网络接口,如 bridge、host、overlay、macvlan 以及 none 类型的网络接口。 brid…

    数据库 2023年6月6日
    0144
  • mysql索引

    MySQL索引: MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 1.创建索引1.1单独创建索引 1.2修改表结构创建索引 1.3创…

    数据库 2023年6月11日
    0129
  • NO.3 Linux-笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    0142
  • Decorator 装饰(结构型)

    Decorator 装饰 (结构型) 一:描述: Decorator 装饰模式是动态地给一个对象增加一些额外的功能职责特性。 来替换以前使用的继承来静态扩展对象的功能,避免子类的增…

    数据库 2023年6月11日
    0122
  • NO.5 MySQL-笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    0120
  • qt项目设置程序图标

    一、下载好.ico格式的图标文件并存放到项目的根目录这里附赠一个png,jpg等格式转为ico格式的网站 二、在.pro文件里面添加ico的名字 三、发现在debug模式下运行项目…

    数据库 2023年6月6日
    0135
  • 实现一个简单的Database3(译文)

    前文回顾 实现一个简单的Database1(译文) 实现一个简单的Database2(译文) 实现一个简单的Database3(译文) 译注:cstsck在github维护了一个简…

    数据库 2023年6月11日
    0149
  • Docker Maven构建缓存spring boot依赖包

    背景 每次通过 docker build ‘xxx’ 的时候,总是会去maven镜像下载一大堆Jar包,平均每次build都要在3分钟左右,效率非常低下,于…

    数据库 2023年6月6日
    0144
  • loadrunner 无法保存许可信息

    1.CONFUGURATION—>loadrunner license—>New License页面,输入许可信息,提示:无法保存许可信息 2.解决方法,使用管理员角色…

    数据库 2023年6月14日
    0152
  • 利用rabbitmq异步实现来提升程序处理性能

    近期交易系统出款交易量猛增,从skywalking监控平台查看服务的调用链路(Trace),发现在调用外部三方http接口会耗时将近一半。鉴于出款交易在业务上是异步处理的,所以,商…

    数据库 2023年6月9日
    0138
  • apk生成多渠道的安装包

    一、前言->需求 最近公司的项目需要试上线,安卓包会放到多个渠道进行推广,玩家会进行下载安装登录,后台为了得到渠道包的下载使用数据,就会给每个渠道包加入了不同的渠道ID以便统…

    数据库 2023年6月14日
    0161
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球