SQL代码练习
文章平均质量分 50
SQL代码练习,包括题目、小项目等
会飞的岛格酱
热爱开发和算法的互联网忠实研究者一枚,除此之外,对产品设计和架构设计也有崇高的热情,一直都在学习的路上。喜欢写文章记录学习过程和做项目的心得,有很多关于创新的思维和想法,我会大胆的提出来,欢迎批评和指正~
展开
-
HiveSQL常见函数及使用方法(含代码示例)
HiveSQL(Hive SQL)是Apache Hive所使用的SQL方言,专门用于在Hadoop上进行大规模数据处理。原创 2024-07-26 10:42:18 · 434 阅读 · 0 评论 -
SQL每日一题:员工奖金
编写解决方案,报告每个奖金 少于 1000 的员工的姓名和奖金数额。以 任意顺序 返回结果表。以employee表作为主表,和bonus表进行左连接,限制两个条件:bonus为空或小于1000。empId 是 Employee 表中 empId 的外键(reference 列)。该表的每一行都表示员工的姓名和 id,以及他们的工资和经理的 id。该表的每一行都包含一个员工的 id 和他们各自的奖金。empId 是该表中具有唯一值的列。empId 是该表具有唯一值的列。表:Employee。原创 2024-07-21 13:30:38 · 286 阅读 · 0 评论 -
SQL每日一题:订单最多的客户
查找下了 最多订单 的客户的 customer_number。测试用例生成后, 恰好有一个客户 比任何其他客户下了更多的订单。先按客户ID将“订单数”计算出来并分组,再按照订单数倒序排序,取第一条即可。在 SQL 中,Order_number是该表的主键。此表包含关于订单ID和客户ID的信息。查询结果格式如下所示。原创 2024-07-20 10:02:54 · 250 阅读 · 0 评论 -
SQL每日一题:寻找用户推荐人
简单的where查询,限制referee_id不等于2即可(条件1),要注意的是,需要添加补充条件2:referee_id为空时也返回name。因为条件1并不包含条件2,执行结果会报错。该表的每一行表示一个客户的 id、姓名以及推荐他们的客户的 id。找出那些 没有被 id = 2 的客户 推荐 的客户的姓名。以 任意顺序 返回结果表。在 SQL 中,id 是该表的主键列。表: Customer。原创 2024-07-20 09:51:47 · 341 阅读 · 0 评论 -
SQL每日一题:游戏玩法分析 I
每行数据记录了一名玩家在退出平台之前,当天使用同一台设备登录平台后打开的游戏的数目(可能是 0 个)。查询每位玩家 第一次登录平台的日期。在 SQL 中,表的主键是 (player_id, event_date)。用函数min()求得最小日期即可,按照player_id分组。这张表展示了一些游戏玩家在游戏平台上的行为活动。原创 2024-07-20 09:42:53 · 359 阅读 · 0 评论 -
SQL每日一题:删除重复电子邮箱
运行脚本后,显示的答案是 Person 表。驱动程序将首先编译并运行您的代码片段,然后再显示 Person 表。Person 表的最终顺序 无关紧要。使用delete和where语句,通过将此表与自身在 Email 列上连接,然后找到具有相同电子邮件地址的其他记录中较大的 id。编写解决方案 删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。(对于 Pandas 用户,请注意你应该直接修改 Person 表。该表的每一行包含一封电子邮件。id 是该表的主键列(具有唯一值的列)。原创 2024-07-18 15:51:33 · 523 阅读 · 0 评论 -
SQL每日一题:从不订购的客户
主表是customers表,有过购买记录的会出现在orders表,因此只需将两表进行左连接,筛选出orderid为null的顾客,即为从未购买过的顾客。customerId 是 Customers 表中 ID 的外键( Pandas 中的连接键)。找出所有从不点任何东西的顾客。以 任意顺序 返回结果表,结果格式如下所示。该表的每一行都表示订单的 ID 和订购该订单的客户的 ID。该表的每一行都表示客户的 ID 和名称。在 SQL 中,id 是该表的主键。在 SQL 中,id 是该表的主键。原创 2024-07-17 11:35:00 · 347 阅读 · 0 评论 -
SQL每日一题:查找重复的电子邮箱
编写解决方案来报告所有重复的电子邮件。请注意,可以保证电子邮件字段不为 NULL。以 任意顺序 返回结果表。按照email分组计数,筛选出数量>1的email。(需注意分组计数时一定要记得用group by)此表的每一行都包含一封电子邮件。电子邮件不包含大写字母。id 是该表的主键(具有唯一值的列)。原创 2024-07-17 11:07:39 · 442 阅读 · 0 评论 -
SQL每日一题:超过经理收入的员工
先把经理的信息放进临时表t1,包括ID、name、mana_salary,t1中的ID就是employee表中的manager ID,因此可以通过两个ID进行左连接,判断salary>mana_salary,即为薪资高于领导的员工。该表的每一行都表示雇员的ID、姓名、工资和经理的ID。编写解决方案,找出收入比经理高的员工。以任意顺序返回结果表。id 是该表的主键(具有唯一值的列)。原创 2024-07-16 20:31:42 · 301 阅读 · 0 评论 -
SQL每日一题:第二高的薪水
查询并返回 Employee 表中第二高的薪水。如果不存在第二高的薪水,查询应该返回 null(Pandas 则返回 None)。查询结果如下例所示。酷爱使用临时查询的小伙伴们需注意!若将第一段代码放入临时表,则case2会报错!因为临时表中没结果的时候是返回0行,而不是null。先通过排序和limit函数将第二名取出来,再判断若为空则返回null。在 SQL 中,id 是这个表的主键。表的每一行包含员工的工资信息。原创 2024-07-15 20:46:21 · 248 阅读 · 0 评论 -
SQL每日一题:组合两个表
编写解决方案,报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为 null。以 任意顺序 返回结果表。该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。addressId 是该表的主键(具有唯一值的列)。personId 是该表的主键(具有唯一值的列)。| 列名 | 类型 |该表包含一些人的 ID 和他们的姓和名的信息。| 列名 | 类型 |表: Address。原创 2024-07-15 15:31:41 · 472 阅读 · 0 评论