数据科学家面试SQL题:挑战你的数据库查询能力
数据科学家面试SQL题:挑战你的数据库查询能力
准备数据科学家面试?掌握SQL查询是必备技能!这篇文章提供3道SQL题目,包含数据样例和答案,涵盖订单、电影、学生成绩等场景,帮助你巩固SQL基础,提升面试准备效率。
1. 查询订单总数和订单总金额
以下是一张订单表,请写出SQL查询语句,查询2019年1月1日至1月31日之间,每个用户的订单总数和订单总金额。
订单表:
| 用户ID | 订单ID | 订单金额 | 下单时间 | | ------ | ------ | -------- | ------------------- | | 1 | 1001 | 100 | 2019-01-01 10:00:00 | | 1 | 1002 | 200 | 2019-01-05 12:00:00 | | 2 | 1003 | 150 | 2019-01-10 08:00:00 | | 2 | 1004 | 300 | 2019-02-01 14:00:00 | | 3 | 1005 | 50 | 2019-01-15 16:00:00 | | 3 | 1006 | 100 | 2019-01-20 18:00:00 |
答案:
SELECT 用户ID, COUNT(订单ID) AS 订单总数, SUM(订单金额) AS 订单总金额
FROM 订单表
WHERE 下单时间 BETWEEN '2019-01-01 00:00:00' AND '2019-01-31 23:59:59'
GROUP BY 用户ID;
2. 查询高评分电影
以下是一张电影表,请写出SQL查询语句,查询评分超过8分的电影名称和评分,按评分从高到低排序。
电影表:
| 电影ID | 电影名称 | 评分 | | ------ | -------- | ---- | | 1 | 霸王别姬 | 9.2 | | 2 | 肖申克的救赎 | 9.1 | | 3 | 绿皮书 | 8.9 | | 4 | 三傻大闹宝莱坞 | 8.7 | | 5 | 罗马假日 | 8.5 | | 6 | 唐人街探案 | 8.3 |
答案:
SELECT 电影名称, 评分
FROM 电影表
WHERE 评分 > 8
ORDER BY 评分 DESC;
3. 查询学生总分和平均分
以下是一张学生表和一张成绩表,请写出SQL查询语句,查询每个学生的总分和平均分,并按总分从高到低排序。
学生表:
| 学生ID | 学生姓名 | | ------ | -------- | | 1 | 张三 | | 2 | 李四 | | 3 | 王五 |
成绩表:
| 学生ID | 课程名称 | 成绩 | | ------ | -------- | ---- | | 1 | 数学 | 80 | | 1 | 英语 | 90 | | 2 | 数学 | 85 | | 2 | 英语 | 75 | | 3 | 数学 | 70 | | 3 | 英语 | 80 |
答案:
SELECT 学生ID, SUM(成绩) AS 总分, AVG(成绩) AS 平均分
FROM 成绩表
GROUP BY 学生ID
ORDER BY 总分 DESC;
希望这些SQL题目能够帮助你更好地准备数据科学家面试!
原文地址: https://www.cveoy.top/t/topic/lHKe 著作权归作者所有。请勿转载和采集!