SQL|数据科学岗位的一道基础笔试题

简介: SQL|数据科学岗位的一道基础笔试题

问题描述

前些时日,在玩手机的时候,偶然看到了一个博主的推文。文章的题目中,提到了“竟然连SQL都不会”。由于这段时间在学习数据库,所以对于SQL等字眼特别敏感。所以,对于这篇文章,我自然要读一读。

文章中讲到的其他方面这里不再过多的赘述。我从里面copy出了一道求职相关岗位时,会遇到的一道基础笔试题。我将在本文中对该题进行详细的解答。

题目如下:

这里有一个成绩信息表info_table,每条记录是学生的某科目成绩信息,包括学生学号stu_num、科目名称sub_name、学生的该科目分数score等字段,请你写个SQL取一下每个科目分数前三的学生信息。

解决方案

相信大家都已读了题目,为了方便大家的理解以及接下来对相应SQL语句的验证,我们这里使用SQL Server Studio进行演示。

首先,我们先按照题目建库建表。

create database course;

use course;

create table info_table(

stu_num char(20) primary key,

stu_name char(10),

score int check(score between 0 and 100)

)

1 数据库及表

我为了后续的验证的方便,这里就再向该表中插入数据。三个科目(Math、EnglishPE),学生5人(001-005)。

这里需要注意的是,因为PRIMARY KEY 约束 'PK__info_tab__89C2F6B20425A276',所以在第一列sub_num就不能出现重复。这里我们将键PK__info_tab__89C2F6B20425A276直接删除就好。数据插好后的表如下:

图二 info_table表的所有数据

准备工作就绪,现在就正式开始查询。在查询前,我们要明确三个问题:查什么?从哪里查?条件是什么?通过题目,显然有:查的是学生信息,从info_table表中查,条件是每个科目分数第一。我给出的查询如下:

select *

from(

select stu_num,sub_name,score,row_number()

over(

partition by sub_name

order by score desc

)

as num

from info_table

)

T where T.num <= 3

order by sub_name

图三查询结果

结语

对于SQL,基础的语法学起来很简单,简单的查询上手也很容易。难就难在如何根据具体需求去写查询,并且为了达到同一查询目的,SQL语句并不唯一,这时你是否又能选出最佳的那一个呢?俗话说的好,“基础不扎实,地动山摇。”对于SQL我们一定要夯实基础,再进行熟练掌握。祝你成功!


目录
相关文章
|
19天前
|
Java 前端开发 容器
Struts 2:在技术变革的风暴中航行,探索框架的革命性未来与创新融合之路
【8月更文挑战第31天】Struts 2作为一款成熟的企业级Java Web框架,凭借其稳定性和灵活性自2007年以来广受欢迎。它基于MVC设计模式,支持插件架构和RESTful服务,并能与Spring框架良好集成。然而,面对微服务架构和容器化技术(如Docker和Kubernetes)的兴起,Struts 2需提供更轻量级和支持指南来适应变化。通过深化与现代前端框架(如React和Vue.js)及AI技术的集成,并强化安全性与开发工具,Struts 2有望保持竞争力并迎接未来挑战。
30 0
|
SQL 人工智能 运维
运维面试,遇到的SQL笔试题
运维面试,遇到的SQL笔试题
163 2
|
SQL Oracle 关系型数据库
SqlServer 常见SQL笔试题之语句操作题详解2
SqlServer 常见SQL笔试题之语句操作题详解2
167 0
|
SQL C# 数据库
SqlServer 常见SQL笔试题之语句操作题详解1
SqlServer 常见SQL笔试题之语句操作题详解1
139 0
|
SQL 测试技术 数据库
新题速看!2021阿里、字节都在问的SQL数据库笔试题及答案都给你整理好啦!
2021到了最后一个月份,年后肯定有蛮多小伙伴需要跳槽换工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收录了下最近一些数据库笔试真题,包含答案!
新题速看!2021阿里、字节都在问的SQL数据库笔试题及答案都给你整理好啦!
|
SQL Oracle 关系型数据库
Oracle最新的Sql笔试题及答案
Oracle最新的Sql笔试题及答案
Oracle最新的Sql笔试题及答案
|
SQL
SQL 笔试题
一个笔试题: sql语句的问题 SQL> select * from test2;         J          F---------- ----------         3          5         4          5  ...
903 0
|
2月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
60 13
|
2月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
2月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
44 6