前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Leetcode-sql-six

Leetcode-sql-six

作者头像
皮大大
发布2021-03-01 11:09:34
发布2021-03-01 11:09:34
31700
代码可运行
举报
运行总次数:0
代码可运行

Leetcode-sql-nine

本文中主要是介绍LeetCode中关于SQL的练习题,从易到难,循序渐进。文中会介绍题目和尽可能多的提供解答方案

577-员工奖金

题目

根据下面提供的两个表,选出所有奖金<1000元的雇员姓名及奖金数额

显示结果应该为:

答案
  1. 将两个表进行联结:left right;需要考虑为null的情况
代码语言:javascript
代码运行次数:0
复制
-- 自己的方案:需要考虑NULL的情况
select name, bonus
from employee e
left join bonus b on e.empId = b.empId
where bonus < 1000 or bonus is null;
  1. 使用ifnull函数
  • IFNULL(exp1,exp2) 函数用于判断exp1是否为 NULL,如果为 NULL 则返回exp2的值,如果不为NULL 则返回exp1的值
  • using关键字的使用
代码语言:javascript
代码运行次数:0
复制
select name, bonus
from employee left join bonus using (empId)   -- 如果两个表中有相同的字段,则可使用using关键字
where ifnull(bonus, 0) < 1000;  --
总结
  1. 考虑周全:NULL的使用
  2. using关键字、ifnull函数的使用

584-寻找用户推荐人

题目

在下面给定的表中,保存了所有客户信息和他们的推荐人。写一个查询语句,返回一个编号列表,列表中编号的推荐人的编号都不是2

上面示例的结果为:

答案

需要通过where条件进行判断,不要忘记NULL的情形

代码语言:javascript
代码运行次数:0
复制
select name
from customer
where referee_id != 2 or referee_id is null;    -- 自己没有考虑NULL的情况
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-3-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 577-员工奖金
    • 题目
    • 答案
    • 总结
  • 584-寻找用户推荐人
    • 题目
    • 答案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档