千人千面:来看看这道简单的SQL面试题——设计一个学生成绩表

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 再简单的面试题,也能检验一个程序员的成色。
+关注继续查看

今早上班后清理工位时,发现这张废纸,记录一下。
image.png

下面是这个简单的数据库应用面试题

1、设计一个学生成绩表 (DDL 或者是逻辑结构)

2、用一条 SQ语句 查询总成绩大于270分的学生

3、用一条SQL语句 查询出每门课都大于80分的学生

坦白说,这个再常见不过的题并不难,甚至经常作为大学练习题。

表设计有2个方案:1. 横向存储的方式:学生+课程+成绩;2.纵向按列存储的方式:学生+课程A+课程B+...+课程N

细节来说
首先,如何来标记学生呢,看这道题,并没什么要求,所以,我们用学生姓名来标记。当然, 用学号也行。
其次,成绩字段的类型,如果没有小数,用int即可,如果有小数,可以用decimal(5,2)。
再次,选择方案1)与方案2)的两个设计方案的依据。如果基于课程会有变化这一点来考虑,则采用方案1);如果基于课程比较固定是那几科,则采用方案2)倒也不错。

但是,在面试中,的确发现了千人千面。上面的截图,我记得问候选人为什么要这么设计表,他的回答竟然是————为了能写出来后面的2个sql。

目录
相关文章
|
1月前
|
SQL 存储 数据库
SQL语言易错面试题含答案
SQL语言易错面试题含答案
15 2
|
1月前
|
SQL 关系型数据库 MySQL
15道常用sql面试题
15道常用sql面试题
43 0
|
2月前
|
SQL 应用服务中间件 nginx
python技术面试题(十二)--SQL注入、项目部署
python技术面试题(十二)--SQL注入、项目部署
|
2月前
|
SQL Python
python技术面试题(七)--SQL语句
python技术面试题(七)--SQL语句
|
3月前
|
SQL Java 关系型数据库
|
7月前
|
SQL Java
Java 最常见的面试题:如何避免 sql 注入?
Java 最常见的面试题:如何避免 sql 注入?
93 0
|
9月前
|
SQL 存储 关系型数据库
java面试题(十四)数据库之sql
1.1 介绍一下数据库分页 参考答案 MySQL的分页语法: 在MySQL中,SELECT语句默认返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句,以实现分页查询。LIMIT子句的语法如下: -- 在所有的查询结果中,返回前5行记录。 SELECT prod_name FROM products LIMIT 5; -- 在所有的查询结果中,从第5行开始,返回5行记录。 SELECT prod_name FROM products LIMIT 5,5; 总之,带一个值的LIMIT总是从第一行开始,给出的数为返回的行数。带两个值的LIMIT可以指定从行号
83 1
|
10月前
|
SQL 程序员
【Sql Server】基础面试题解答之查询每门课程都及格的学生名称
1)查询每门课程都及格的学生名称 2)分组概念的使用
198 0
【Sql Server】基础面试题解答之查询每门课程都及格的学生名称
|
SQL Oracle 关系型数据库
数据库面试题+sql语句解析
数据库面试题+sql语句解析
|
SQL 安全 关系型数据库
软件测试mysql面试题:sql注入的主要特点?
软件测试mysql面试题:sql注入的主要特点?
67 0
热门文章
最新文章
相关产品
云数据库 RDS MySQL 版
云原生数据库 PolarDB
推荐文章
更多