zoukankan      html  css  js  c++  java
  • sqlzoo练习系列(十三)——NULL值之老师和学系

     【Tips】

    • sqlzoo官网链接:https://sqlzoo.net/wiki/SQL_Tutorial/zh
    • 每个系列开头介绍所用表及其信息
    • 每道题均测试通过,含有题目描述、代码和结果
    • 题目为自己简写,最好在官网查看具体题目
    • 部分测试结果不完整,仅为一部分截图

    NULL值之老师和学系练习链接:https://sqlzoo.net/wiki/Using_Null/zh

    所用的表teacher老师,dept学系

         


     

    1.列出学系department是NULL值的老师

    SELECT teacher.name
    FROM teacher LEFT JOIN dept
    ON teacher.dept=dept.id
    WHERE dept.name IS NULL

    2.INNER JOIN的使用

    SELECT teacher.name, dept.name
     FROM teacher INNER JOIN dept
                  ON (teacher.dept=dept.id)

    3.使用不同的JON(外连接)列出全部老师

    SELECT teacher.name,dept.name
    FROM teacher LEFT JOIN dept
    ON teacher.dept=dept.id    

    4.使用外连接,列出全部学系 

    SELECT teacher.name,dept.name
    FROM dept LEFT JOIN teacher ON
    dept.id=teacher.dept

    5.列出教师名字和电话,如果没有电话显示07986 444 2266

    • COALESCE返回第一个非空值,若全为空,返回NULL
    SELECT name,COALESCE(mobile,'07986 444 2266')
    FROM teacher
    --若mobile为空,返回'07986 444 2266'

    6.显示教师name和department name,如果没有department的话显示None

    SELECT teacher.name,COALESCE(dept.name,'None')
    FROM teacher LEFT JOIN dept ON teacher.dept=dept.id

    7.使用COUNT算老师和流动电话数目

    SELECT COUNT(name),COUNT(mobile)
    FROM teacher

    8.使用COUNT和GROUP BY dept.name显示每一学系的老师数目,使用RIGHT JOIN

    SELECT dept.name,COUNT(teacher.name)
    FROM teacher RIGHT JOIN dept ON dept.id=teacher.dept
    GROUP BY dept.name

    9.用CASE 。如果这个老师在dept1或dept2,则“Sci”,否则Art

    SELECT name,
    CASE WHEN dept=1 OR dept=2 THEN 'Sci'
    ELSE 'Art' END
    FROM teacher

    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

    SELECT name,
    CASE WHEN dept=1 OR dept=2 THEN 'Sci'
         WHEN dept=3 THEN 'Art' 
         ELSE 'None' END
    FROM teacher

  • 相关阅读:
    MyBatis配置文件(四)--typeHandlers
    MyBatis配置文件(三)--typeAliases别名
    理解JWT的使用场景和优劣
    JWT的使用流程
    JWT (JSON WEB Token)正确使用场景
    转 Spring Security 简介
    转 Solr vs. Elasticsearch谁是开源搜索引擎王者
    Oauth2.0(一):为什么需要 Oauth2.0 协议?
    Spring Security 与 OAuth2(介绍)
    理解OAuth 2.0
  • 原文地址:https://www.cnblogs.com/tuzinn/p/13876932.html
Copyright © 2011-2022 走看看