sqlzoo 8.Using Null 答案

12 篇文章 0 订阅

有什么问题,欢迎评论或私聊。转载请私聊博主,谢谢。

原题链接:https://sqlzoo.net/wiki/Using_Null

其他题解连接:https://blog.csdn.net/aiqiyizz/article/details/109057732

难度不大,摸了好久的鱼。。

8 Using Null

8.1 NULL, INNER JOIN, LEFT JOIN, RIGHT JOIN

SELECT name
FROM teacher
WHERE dept IS NULL

8.2

直接给的例子

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

8.3

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

8.4

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

8.5 Using the COALESCE function

COALESCE的应用

SELECT name, COALESCE(mobile, '07986 444 2266')
FROM teacher

8.6

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

8.7

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

8.8

SELECT dept.name, COUNT(teacher.dept) AS 'the number of staff'
FROM teacher RIGHT JOIN dept ON teacher.dept = dept.id
GROUP BY dept.name

8.9 Using CASE

不难,但是写的时候脑子抽了一下

SELECT name, CASE WHEN dept IN (1, 2) THEN 'Sci' ELSE 'Art' END
FROM teacher

8.10

SELECT
  name,
  CASE
    WHEN dept IN (1, 2) THEN 'Sci'
    WHEN dept = 3 THEN 'Art'
    ELSE 'None'
  END
FROM
  teacher
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值