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/621702/

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

(0)

大家都在看

  • MyBatisPlus代码生成示例

    一、依赖 com.baomidou mybatis-plus-generator 3.5.3 org.projectlombok lombok 1.18.16 compile or…

    数据库 2023年6月11日
    086
  • 2022-8-18 第六组 JDBC

    JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有…

    数据库 2023年6月14日
    084
  • 线程池执行流程图

    public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeU…

    数据库 2023年6月16日
    0132
  • Kubeadm部署K8S(kubernetes)集群(测试、学习环境)-单主双从

    1. kubernetes介绍 1.1 kubernetes简介 kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的…

    数据库 2023年6月9日
    085
  • 从 KeyStore 中获取 PublicKey 和 PrivateKey

    KeyStore(译:密钥存储库) 代表用于加密密钥和证书的存储设施。 KeyStore 管理不同类型的 entry(译:条目)。每种类型的 entry 都实现了 KeyStore…

    数据库 2023年6月14日
    0105
  • MySQL8.0 redo日志系统优化

    现在主流的数据库系统的故障恢复逻辑都是基于经典的ARIES协议,也就是基于undo日志+redo日志的来进行故障恢复。redo日志是物理日志,一般采用WAL(Write-Ahead…

    数据库 2023年6月9日
    098
  • 重构

    参数过长 影响: 方法不易被理解、使用,方法签名容易不稳定,不易维护 解决方法:反复使用提炼方法+内联方法,消除多余参数 ​ 尽量把方法移进相关的类中 ​ 如实体类中的get方法在…

    数据库 2023年6月16日
    0211
  • Redis集群(一)主从复制

    一、主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由…

    数据库 2023年6月11日
    091
  • 推荐系统!基于tensorflow搭建混合神经网络精准推荐! ⛵

    💡 作者:韩信子@ShowMeAI📘 深度学习实战系列:https://www.showmeai.tech/tutorials/42📘 TensorFlow 实战系列:https:…

    数据库 2023年6月14日
    094
  • BASE64处理文件

    Base64: Base64是一种编码方式,基于64个ASCII字符来表示二进制数据,Base64将8个bit为一个单位的字节数据拆分为以6个bit为一个单位的二进制片段,每6个b…

    数据库 2023年6月9日
    095
  • 将侧边栏制成inclusion_tag

    在开发过程中,像侧边栏这种功能的版块,我们在很多页面都需要使用到的时候,我们则需要在视图函数中书写重复的代码,这样很繁琐,我们可以将侧边栏制成inclusion_tag,后面我们需…

    数据库 2023年6月14日
    077
  • 设计 | ClickHouse 分布式表实现数据同步

    作者:吴帆 青云数据库团队成员主要负责维护 MySQL 及 ClickHouse 产品开发,擅长故障分析,性能优化。 在多副本分布式 ClickHouse 集群中,通常需要使用 D…

    数据库 2023年5月24日
    0100
  • Airbnb JavaScript 代码规范(转载)

    一种写JavaScript更合理的代码风格。 其他代码风格指南 1.1 原始值: 当你访问一个原始类型的时候,你可以直接使用它的值。 string number boolean n…

    数据库 2023年6月11日
    0123
  • Vue(十三)—过滤器filter,filters

    官网:https://cn.vuejs.org/v2/api/#filters https://cn.vuejs.org/v2/api/#Vue-filter 分为全局过滤器和局部…

    数据库 2023年6月16日
    093
  • PHP获取前一天,前一个月,前半年,前一年的时间戳

    // 获取前一秒 strtotime("-1 seconds"); // 获取前一分钟 strtotime("-1 minute"); //…

    数据库 2023年6月14日
    0134
  • MySQL的插入性能优化

    MySQL的插入性能优化 修改系统变量的方法 一、通过编辑ini配置文件进行修改; 二、通过输入sql命令进行修改; 查询和修改系统变量; 如果要修改全局变量, 必须要显示指定&#…

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