【LeetCode SQL练习笔记】

这篇具有很好参考价值的文章主要介绍了【LeetCode SQL练习笔记】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 简单

175. 组合两张表

编写一个SQL查询来报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为空  null 。
答:题目中要求两张表,Address中的报告可以为空,要显示Person表的数据,很容易想到左连接,把Person当成主表然后left join 即可。
代码:
select p.Firstname,p.LastName,a.City,a.State from Person p left join Address a on p.PersonId=a.PersonId; 

181. 超过经理收入的员工*

编写一个SQL查询来查找收入比经理高的员工。以 任意顺序 返回结果表。
答:这道题因为要查询的条件都在一张表里,所以可以使用自连接,将一张表当成两张表来使用
代码:
SELECT
    a.name AS Employee
FROM
    Employee AS a JOIN Employee AS b
    ON a.managerId = b.id
    AND a.salary > b.salary


或者可以使用笛卡尔积,然后筛选出满足条件的结果;
代码:
SELECT
    a.name AS Employee
FROM
    Employee AS a,
    Employee AS b
WHERE
    a.managerId = b.id
        AND a.salary > b.salary

182. 查找重复的电子邮箱

编写一个 SQL 查询来报告所有重复的电子邮件。 请注意,可以保证电子邮件字段不为 NULL。
答:要求查找重复邮箱,首先可以想到以邮箱分组,组中条数多余1的自然是重复的。
代码:使用group by
:select Email from
(
  select Email, count(Email) as num
  from Person
  group by Email
) as  a 
where num > 1
;
或者group by 加having过滤
select Email
from Person
group by Email
having count(Email) > 1; 

文章来源地址https://www.toymoban.com/news/detail-577676.html

到了这里,关于【LeetCode SQL练习笔记】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【SQL刷题】Day12----SQL汇总数据专项练习

    【SQL刷题】Day12----SQL汇总数据专项练习

    博主昵称:跳楼梯企鹅 博主主页面链接: 博主主页传送门 博主专栏页面连接: 专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。 博主座右铭:发现光,追随光,

    2023年04月18日
    浏览(11)
  • 【SQL刷题】Day10----SQL高级过滤函数专项练习

    【SQL刷题】Day10----SQL高级过滤函数专项练习

    博主昵称:跳楼梯企鹅 博主主页面链接: 博主主页传送门 博主专栏页面连接: 专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。 博主座右铭:发现光,追随光,

    2023年04月09日
    浏览(10)
  • sql练习

    查找入职员工时间排名倒数第三的员工所有信息 注意:可能会存在同一个日期入职的员工,所以入职员工时间排名倒数第三的员工可能不止一个。 示例: SQL 建表语句等 输入: drop table if exists  `employees` ; CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_

    2024年02月07日
    浏览(5)
  • SQL经典练习题

    SQL经典练习题

    1.学生表 Student(SId,Sname,Sage,Ssex) SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CId,Cname,TId) CId 课程编号,Cname 课程名称,TId 教师编号 3.教师表 Teacher(TId,Tname) TId 教师编号,Tname 教师姓名 4.成绩表 SC(SId,CId,score) SId 学生编号,CId 课程编号,score 分数 学生表 Studen

    2024年01月20日
    浏览(8)
  • SQL语句练习附带答案

    SQL语句练习附带答案

    1.查询一共有多少部电影 2.查询电影价格最低不小于100的类型 3.查询所有电影的名字,以及电影对应的类型名 4.查询所有每个员工的销售总额 5.查询所有员工的名字,以及员工的工资级别 6.查询每种类型各有多少部电影 7.查询每个用户多少岁. 8.查询历年来每个月份各多少订单

    2024年02月06日
    浏览(8)
  • SQL语句练习——查询

    SQL语句练习——查询

    数据表如下: 1.用SQL完成以下检索: 检索在北京的供应商的名称。 检索发给供应商S6的订购单号。 检索出职工E6发给供应商S6的订购单信息。 检索出向供应商S3发过订购单的职工的职工号和仓库号。 检索出目前与S3供应商没有联系的职工信息。 检索出目前没有任何订购单的

    2024年02月04日
    浏览(9)
  • SQL力扣练习(十)

    SQL力扣练习(十)

    目录 1.体育馆的人流量(501) 示例 1 解法一(row_number()) 解法二(自定义变量) 解法三 2.好友申请(602) 示例 解法一(union all) 解法二 3.销售员(607) 示例 解法一 解法二 表: Stadium 编写一个 SQL 查询以找出每行的人数大于或等于  100  且  id  连续的三行或更多行记录

    2024年02月14日
    浏览(6)
  • SQL力扣练习(四)

    表: Employee   编写一个SQL查询来查找收入比经理高的员工。   示例 1: 在这里普及一下连接小知识。 1.​Left join:即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全

    2024年02月12日
    浏览(4)
  • SQL力扣练习(五)

    目录  1.从不订购的客户(183) 解法一(not in) 解法二(is) 解法三(not exists) 解法四(isnull函数) 2.部门工资最高的员工(184) 解法一(in) 解法二(rank窗口函数) 某网站包含两个表, Customers  表和  Orders  表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。 Customers  表:

    2024年02月12日
    浏览(6)
  • SQL力扣练习(九)

    目录 1.订单最多的用户(586) 示例 1 解法一(limit) 解法二(dense_rank()) 2.体育馆的人流量 示例 1 解法一(临时表) 解法二(三表法) 表:  Orders 查找下了  最多订单  的客户的  customer_number  。 测试用例生成后,  恰好有一个客户  比任何其他客户下了更多的订单。 查询结果格式如

    2024年02月14日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包