当前位置: 首页 > news >正文

大数据笔试题_第一阶段配套笔试题01

目录

  1. 查询没有订购的客户

  2. 只出现一次的最大数字

  3. 存款客户与账户统计

    • 3.1 当前总客户数及存款总金额

    • 3.2 当前有存款余额的客户总数

  4. 学生考试统计

    • 4.1 各年级科目考试总人数及平均成绩

    • 4.2 各年级参加考试的学生总数

    • 4.3 二年级全科80分以上学生信息


1. 查询没有订购的客户

题目描述

  • 表结构

    • Customers 表:Id(客户ID)、Name(客户姓名)

    • Orders 表:Id(订单ID)、CustomerId(客户ID)

  • 目标:找出从未下过订单的客户。

参考答案

sql

SELECT Name AS Customers
FROM Customers
LEFT JOIN Orders ON Customers.Id = Orders.CustomerId
WHERE Orders.Id IS NULL;
 

2. 只出现一次的最大数字

题目描述

  • 表结构

    • my_numbers 表:num(数字,含重复值)

  • 目标:找到只出现一次的最大数字。

参考答案

sql

SELECT MAX(num) AS num
FROM my_numbers
WHERE num IN (
    SELECT num
    FROM my_numbers
    GROUP BY num
    HAVING COUNT(*) = 1
);
 

3. 存款客户与账户统计

3.1 当前总客户数及存款总金额

表结构
  • 客户信息表CUST_ID(客户ID)、CUST_NAME(客户姓名)

  • 存款余额表ACCT_ID(账户ID)、CUST_ID(客户ID)、BAL(余额)

参考答案

sql

SELECT 
    COUNT(DISTINCT CUST_ID) AS 总客户数,
    SUM(BAL) AS 存款总金额
FROM 存款余额表;
 

3.2 当前有存款余额的客户总数

参考答案

sql

SELECT COUNT(DISTINCT CUST_ID) AS 有存款客户数
FROM 存款余额表
WHERE BAL > 0;
 

4. 学生考试统计

表结构

  • Students:学号、姓名、年龄、年级

  • Score:学号、课程、分数

  • Class:年级、课程

4.1 各年级科目考试总人数及平均成绩

参考答案

sql

SELECT 
    C.年级,
    C.课程,
    COUNT(DISTINCT S.学号) AS 总人数,
    AVG(S.分数) AS 平均成绩
FROM Class C
LEFT JOIN Score S ON C.课程 = S.课程
GROUP BY C.年级, C.课程;
 

4.2 各年级参加考试的学生总数

参考答案

sql

SELECT 
    C.年级,
    COUNT(DISTINCT S.学号) AS 考试学生数
FROM Class C
LEFT JOIN Score S ON C.课程 = S.课程
GROUP BY C.年级;
 

4.3 二年级全科80分以上学生信息

参考答案

sql

SELECT DISTINCT S.学号, ST.姓名
FROM Score S
JOIN Students ST ON S.学号 = ST.学号
WHERE ST.年级 = 2
AND S.学号 NOT IN (
    SELECT 学号
    FROM Score
    WHERE 分数 < 80
);
 

总结

  1. LEFT JOIN + IS NULL:适用于查找“不存在关联记录”的场景(如未订购客户)。

  2. GROUP BY + HAVING:用于统计频率(如只出现一次的数字)。

  3. DISTINCT + 聚合函数:确保统计时不重复计数。

  4. 子查询过滤:解决“全满足条件”问题(如所有科目≥80分)。

注意事项

  • 多表连接时注意字段别名和关联条件。

  • 使用AVG时注意空值处理,需明确是否需要过滤无效数据。

http://www.dtcms.com/a/112626.html

相关文章:

  • 浅谈AI落地 - 文章推荐 - 混合推荐模型
  • 【CF】Day24——Codeforces Round 994 (Div. 2) D
  • 常用性能指标(metrics)
  • 理解OSPF 特殊区域Stub和各类LSA特点
  • leetcode-链表+动规
  • idea如何让打开的文件名tab多行显示
  • Android studio进阶教程之(二)--如何导入高德地图
  • 超便捷语音转文字工具CapsWriter-Offline本地部署与远程使用全流程
  • 如何快速入门物联网单片机开发?
  • windows如何安装wkhtmltoimage 给PHP使用根据HTML生成图片
  • Mysql 中的 binlog、redolog、undolog
  • LayaAir3.3.0-beta.3重磅更新!Spine4.2、2D物理、UI系统、TileMap等全面升级!
  • 青少年编程与数学 02-015 大学数学知识点 09课题、专业相关性分析
  • 洛谷题单3-P5724 【深基4.习5】求极差 最大跨度值 最大值和最小值的差-python-流程图重构
  • css 文字换行每一个字渐变
  • go游戏后端开发25:红中麻将规则介绍
  • Modbus RTU与TCP通信示例
  • Docker 镜像相关的基本操作
  • CCF-CSP认证练习题-第19次-线性分类器
  • 分布式锁算法——基于ZooKeeper的分布式锁全面解析
  • 质检LIMS系统在水产养殖企业的应用 水产养殖企业的现状
  • Jmeter脚本录制
  • 软件工程(应试版)图形工具总结(一)
  • 【为什么基本数据类型不能存储在集合、泛型中?】
  • HTML语言的空值合并
  • 蓝桥杯专项复习——双指针
  • T-SQL语言的自动化运维
  • STM32单片机入门学习——第13节: [6-1] TIM定时中断
  • # 深入解析 C 语言中的 memcpy 与 memmove:内存操作的双雄
  • 深度学习项目--分组卷积与ResNext网络实验探究(pytorch复现)