students(学生表结构) 表1 students表 字段名 数据类型 主键 非空 唯一 自增 说明 s_no char(8) 是 是 是 是 学生学号 s_name varchar(20) 否 是 否 否 学生姓名 sex char(2) 否 否 否 否 性别 birthday date 否 否 否 否 出生日期 phone varchar(50) 否 否 是 否 电话 photo varchar(255) 否 否 否 否 照片 address varchar(255) 否 否 否 否 地址 d_no varchar(8) 否 否 否 否 系部编号 表 2 score(成绩表结构) 字段名 数据类型 主键 非空 唯一 自增 说明 s_no char(8) 主键、外键 否 否 否 学号 c_no char(4) 主键、外键 否 否 否 课程编号 report float 否 是 否 否 成绩 试用SQL语言完成下列功能: 1.根据学生信息表完成如下简单查询(每题10分,总计50分) 1)查询所有学生的基本信息。 2)查询学生的学号、姓名和地址,性别 3)查询学生所在系部编号,去掉重复值。 4)查询学生的姓名、系别、性别和联系地址,并用汉字显示名称。 5)查询所有女生的基本信息。 2.根据学生信息表完成如下条件查询(每题10分,总计50分) 1)查询各系的学生人数,要求列名称显示为:系部编号、学生人数。 2)查询各系男、女生人数,要求列名称显示为:系部编号、性别、学生人数。 3)查询各门课程的最高成绩和选修该课程的人数,要求列名称显示为课程编号、最高成绩,选修人数。 4)查询课程号为‘b001’的最高分、最低分、平均分、选修学生的人数。 5)选修了3门以上课的学生学号。
时间: 2023-06-07 19:11:49 浏览: 315
1. 根据学生信息表完成如下简单查询:
1) 查询所有学生的基本信息
SELECT s_no, s_name, sex, birthday, phone, photo, address, d_no
FROM students;
2) 查询学生的学号、姓名和地址,性别
SELECT s_no, s_name, sex, address
FROM students;
3) 查询学生所在系部编号,去掉重复值
SELECT DISTINCT d_no
FROM students;
4) 查询学生的姓名、系别、性别和联系地址,并用汉字显示名称
SELECT s_name AS '学生姓名', d.d_name AS '系别名称', sex AS '学生性别', address AS '联系地址'
FROM students s, department d
WHERE s.d_no = d.d_no;
5) 查询所有女生的基本信息
SELECT s_no, s_name, sex, birthday, phone, photo, address, d_no
FROM students
WHERE sex = '女';
2. 根据学生信息表完成如下条件查询:
1) 查询各系的学生人数,要求列名称显示为:系部编号、学生人数
SELECT d_no as '系部编号', COUNT(*) as '学生人数'
FROM students
GROUP BY d_no;
2) 查询各系男、女生人数,要求列名称显示为:系部编号、性别、学生人数
SELECT d_no as '系部编号', sex as '学生性别', COUNT(*) as '学生人数'
FROM students
GROUP BY d_no, sex;
3) 查询各门课程的最高成绩和选修该课程的人数,要求列名称显示为课程编号、最高成绩,选修人数
SELECT c_no as '课程编号', MAX(report) as '最高成绩', COUNT(*) as '选修人数'
FROM score
GROUP BY c_no;
4) 查询课程号为‘b001’的最高分、最低分、平均分、选修学生的人数
SELECT MAX(report) as '最高分', MIN(report) as '最低分', AVG(report) as '平均分', COUNT(*) as '选修学生的人数'
FROM score
WHERE c_no = 'b001';
5) 选修了3门以上课的学生学号
SELECT s_no
FROM score
GROUP BY s_no
HAVING COUNT(*) >= 3;
阅读全文
相关推荐


















