【简答题】用一条SQL语句查询出每门课都大嘈80分的学生嘉名 准备数据的sql代码: create table score(id int primary key auto_increment, name varchar(20),sub ject varchar(20), score int); insert into score values (null,'张三','语文',81), (null,'张三','数学',75), (null,'李四','语文',76), (null,'李四','数学',90),(null,'王 五','语文',81), (null,'王五','数学',100), (null,'王五 ','英语',90);
时间: 2023-08-20 20:22:03 浏览: 45
可以使用如下SQL语句进行查询:
```
SELECT name
FROM score
WHERE subject IN ('语文', '数学', '英语')
GROUP BY name
HAVING MIN(score) > 80;
```
解释:
首先使用 `WHERE` 子句筛选出所需的科目,然后按姓名分组,使用 `HAVING` 子句过滤掉分数不大于80分的学生,最后只选出姓名即可。
相关问题
请设计三套数据库系统概念期末考试题,要求有选择题,简答题,SQL语句编写大题,1-4范式编写题。并给出答案。
好的,以下是三套考试题:
**考试一**
选择题:
1. 下列哪个数据库系统是关系型数据库系统?
A. MongoDB
B. Cassandra
C. MySQL
D. Redis
2. 在数据库中,什么是事务?
A. 一组 SQL 语句的集合
B. 一组数据库操作的集合,要么全做,要么全不做
C. 一个数据库连接
D. 一组数据库表格的集合
简答题:
1. 请简述数据库系统的ACID特性。
2. 请简述数据库中的索引是什么以及索引的作用。
SQL语句编写大题:
假设有如下的两张表格:
学生表格:
| 学生ID | 姓名 | 年龄 | 课程ID |
| ------ | ---- | ---- | ------ |
| 1 | 小明 | 20 | 1 |
| 2 | 小张 | 19 | 2 |
| 3 | 小王 | 21 | 1 |
| 4 | 小李 | 20 | 3 |
| 5 | 小红 | 18 | 2 |
课程表格:
| 课程ID | 课程名称 |
| ------ | -------- |
| 1 | 数学 |
| 2 | 英语 |
| 3 | 物理 |
请编写 SQL 语句,查询选修了英语课程的学生信息。
1-4范式编写题:
请设计一个学生选课系统的数据库,要求至少包括学生信息、课程信息、选课信息三张表格,并将其规范化至第三范式。
答案:
选择题:
1. C
2. B
简答题:
1. ACID特性指的是数据库事务的四个特性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
2. 索引是一种数据结构,用于提高数据库查询的效率。它可以通过将数据分成多个块,并将这些块组织成树形结构,来加快查询速度。
SQL语句编写大题:
```sql
SELECT *
FROM 学生表格
WHERE 课程ID = 2;
```
1-4范式编写题:
学生信息表格:
| 学生ID | 姓名 | 年龄 |
| ------ | ---- | ---- |
| 1 | 小明 | 20 |
| 2 | 小张 | 19 |
| 3 | 小王 | 21 |
| 4 | 小李 | 20 |
| 5 | 小红 | 18 |
课程信息表格:
| 课程ID | 课程名称 |
| ------ | -------- |
| 1 | 数学 |
| 2 | 英语 |
| 3 | 物理 |
选课信息表格:
| 学生ID | 课程ID |
| ------ | ------ |
| 1 | 1 |
| 2 | 2 |
| 3 | 1 |
| 4 | 3 |
| 5 | 2 |
简答题 用switch语句实现:用户输入一个学生成绩,按照五级制输入这个学生对应的等级。
以下是使用switch语句实现的代码:
```
#include <stdio.h>
int main() {
int score;
printf("请输入学生成绩:");
scanf("%d", &score);
switch (score / 10) {
case 10:
case 9:
printf("优秀\n");
break;
case 8:
printf("良好\n");
break;
case 7:
printf("中等\n");
break;
case 6:
printf("及格\n");
break;
default:
printf("不及格\n");
break;
}
return 0;
}
```
根据输入的学生成绩,将其除以10取整作为switch语句的判断条件,然后在不同的case分支中输出对应的等级。最后使用break语句跳出switch语句。需要注意的是,当输入的成绩为100时,score/10的结果为10,因此需要在case 10中加入case 9的情况。