-
- 1.查询所有学生信息
- 2.查询所有课程名称及学分
- 3.查询所有学生的姓名和性别
- 4.查询所有女学生的姓名和出生日期
- 5.查询所有80后学生的姓名、性别和出生日期
- 6.查询姓"杨"的学生姓名和性别
- 7.查询姓"杨"名字两个字的学生姓名和性别
- 8.查询姓"杨"名字三个字的学生姓名和性别
- 9.查询名字中有"不"字或"嫣"字的学生的姓名
- 10.查询没有录入家庭住址的学生姓名
- 11.查询录入了家庭住址的学生姓名
- 12.查询学生选课的所有日期
- 13.查询学生的家庭住址
- 14.查询男学生的生日按年龄从大到小排列
- 15.查询年龄最大的学生的出生日期
- 16.查询年龄最小的学生的出生日期
- 17.分别查询男学生和女学生的人数
- 18.查询课程编号为1111的课程的平均成绩
- 19.查询学号为1001的学生所有课程的平均分
- 20.查询每个学生的学号和平均成绩
- 21.查询平均成绩大于等于90分的学生的学号和平均成绩
- 22.查询年龄最大的学生的姓名
- 23.查询选了两门以上的课程的学生姓名
- 24.查询学生姓名、课程名称以及成绩
- 25.查询学生姓名、课程名称以及成绩按成绩从高到低查询第11-15条记录
- 26.查询每个学生的姓名和选课数量
– 创建学生表
create table tb_student
(
stuid int not null comment ‘学号’,
stuname varchar(20) not null comment ‘姓名’,
stusex boolean default 1 comment ‘性别’,
stubirth date not null comment ‘出生日期’,
stuaddr varchar(255) default ‘’ comment ‘籍贯’,
collid int not null comment ‘所属学院’,
primary key (stuid),
foreign key (collid) references tb_college (collid)
);
– 创建课程表
create table tb_course
(
couid int not null comment ‘编号’,
couname varchar(50) not null comment ‘名称’,
coucredit int not null comment ‘学分’,
teaid int not null comment ‘授课老师’,
primary key (couid),
foreign key (teaid) references tb_teacher (teaid)
);
– 创建选课记录表
create table tb_record
(
recid int auto_increment comment ‘选课记录编号’,
sid int not null comment ‘选课学生’,
cid int not null comment ‘所选课程’,
seldate timestamp default now() comment ‘选课时间日期’,
score decimal(4,1) comment ‘考试成绩’,
primary key (recid),
foreign key (sid) references tb_student (stuid),
foreign key (cid) references tb_course (couid),
unique (sid, cid)
);
– 插入学生数据
insert into tb_student (stuid, stuname, stusex, stubirth, stuaddr, collid) values
(1001, ‘杨逍’, 1, ‘1990-3-4’, ‘四川成都’, 1),
(1002, ‘任我行’, 1, ‘1992-2-2’, ‘湖南长沙’, 1),
(1033, ‘王语嫣’, 0, ‘1989-12-3’, ‘四川成都’, 1),
(1572, ‘岳不群’, 1, ‘1993-7-19’, ‘陕西咸阳’, 1),
(1378, ‘纪嫣然’, 0, ‘1995-8-12’, ‘四川绵阳’, 1),
(1954, ‘林平之’, 1, ‘1994-9-20’, ‘福建莆田’, 1),
(2035, ‘东方不败’, 1, ‘1988-6-30’, null, 2),
(3011, ‘林震南’, 1, ‘1985-12-12’, ‘福建莆田’, 3),
(3755, ‘项少龙’, 1, ‘1993-1-25’, null, 3),
(3923, ‘杨不悔’, 0, ‘1985-4-17’, ‘四川成都’, 3),
(4040, ‘隔壁老王’, 1, ‘1989-1-1’, ‘四川成都’, 2);
– 插入课程数据
insert into tb_course (couid, couname, coucredit, teaid) values
(1111, ‘Python程序设计’, 3, 1122),
(2222, ‘Web前端开发’, 2, 1122),
(3333, ‘操作系统’, 4, 1122),
(4444, ‘计算机网络’, 2, 1133),
(5555, ‘编译原理’, 4, 1144),
(6666, ‘算法和数据结构’, 3, 1144),
(7777, ‘经贸法语’, 3, 2255),
(8888, ‘成本会计’, 2, 3366),
(9999, ‘审计学’, 3, 3366);
– 插入选课数据
insert into tb_record (sid, cid, seldate, score) values
(1001, 1111, ‘2017-09-01’, 95),
(1001, 2222, ‘2017-09-01’, 87.5),
(1001, 3333, ‘2017-09-01’, 100),
(1001, 4444, ‘2018-09-03’, null),
(1001, 6666, ‘2017-09-02’, 100),
(1002, 1111, ‘2017-09-03’, 65),
(1002, 5555, ‘2017-09-01’, 42),
(1033, 1111, ‘2017-09-03’, 92.5),
(1033, 4444, ‘2017-09-01’, 78),
(1033, 5555, ‘2017-09-01’, 82.5),
(1572, 1111, ‘2017-09-02’, 78),
(1378, 1111, ‘2017-09-05’, 82),
(1378, 7777, ‘2017-09-02’, 65.5),
(2035, 7777, ‘2018-09-03’, 88),
(2035, 9999, default, null),
(3755, 1111, default, null),
(3755, 8888, default, null),
(3755, 9999, ‘2017-09-01’, 92);
1.查询所有学生信息
2.查询所有课程名称及学分
3.查询所有学生的姓名和性别
4.查询所有女学生的姓名和出生日期
5.查询所有80后学生的姓名、性别和出生日期
6.查询姓"杨"的学生姓名和性别
7.查询姓"杨"名字两个字的学生姓名和性别
8.查询姓"杨"名字三个字的学生姓名和性别
9.查询名字中有"不"字或"嫣"字的学生的姓名
10.查询没有录入家庭住址的学生姓名
11.查询录入了家庭住址的学生姓名
12.查询学生选课的所有日期
13.查询学生的家庭住址
14.查询男学生的生日按年龄从大到小排列
15.查询年龄最大的学生的出生日期
16.查询年龄最小的学生的出生日期
17.分别查询男学生和女学生的人数
18.查询课程编号为1111的课程的平均成绩
19.查询学号为1001的学生所有课程的平均分
20.查询每个学生的学号和平均成绩
21.查询平均成绩大于等于90分的学生的学号和平均成绩
22.查询年龄最大的学生的姓名
23.查询选了两门以上的课程的学生姓名
24.查询学生姓名、课程名称以及成绩
25.查询学生姓名、课程名称以及成绩按成绩从高到低查询第11-15条记录
26.查询每个学生的姓名和选课数量
演示:
1.查询所有学生信息
select *from tb_student;
2.查询所有课程名称及学分
select couname,coucredit from tb_course;
3.查询所有学生的姓名和性别
select stuname,stusex from tb_student;
4.查询所有女学生的姓名和出生日期
select stuname,stubirth from tb_student where stusex=0;
5.查询所有80后学生的姓名、性别和出生日期
mysql> select stuname,stusex,stubirth from tb_student where stubirth like '198%';
+----------+--------+------------+
| stuname | stusex | stubirth |
+----------+--------+------------+
| 王语嫣 | 0 | 1989-12-03 |
| 东方不败 | 1 | 1988-06-30