SQL临时笔记和题目

https://www.wolai.com/iDtmdcmfpgXgQSWBR2CvVk

创建教师表t(t#,tname,title)其中各字段要求分别是
t# 教师编号 定长字符串,长度为4 主键
tname 老师姓名 不定长字符串,最大长度8 
title 标题 不定长字符串,最大长度8

创建课程表c(c#,cname,tno)其中各字段要求分别是
c# 教师编号 定长字符串,长度为4 主键
cname 课程名 不定长字符串,最大长度8 
tno 教师编号 定长字符串,长度为4 外键

创建学生表s(s#,sname,age,sex)其中各字段要求分别是
s# 学生编号 定长字符串,长度为4 主键
sname 学生姓名 不定长字符串,最大长度8 
age 年龄 数值型 范围介于15到30
sex 性别 位串型 0表示女生1表示男生

创建选课表sc(s#,c#,score)其中各字段要求分别是
s# 学生编号 外键
c# 课程编号 外键
score 成绩 浮点型 长度4,精度1
s# c# 共同构成主键
create table t(
	t# char(4) not null,
	tname varchar(8),
	title varchar(8),
	
	primary key(t#) 
); 
create table c(
	c# char(4) not null,
	cname varchar(8),
	tno char(4),
	
	primary key(c#),
	foreign key(tno) references t(t#)
);
create table s(
	s# char(4) not null,
	sname varchar(8),
	age int,
	sex bit,

	primary key(s#),
	check(age>=15 and age<=30) 
);
create table sc(
	s# char(4) not null,
	c# char(4) not null,
	score decimal(4,1),
	
	primary key(s#,c#),
	foreign key(s#) references s(s#),
	foreign key(c#) references c(c#)
	
);
新增一名老师,教师编号 t001 教师名称 刘老师

新增两名老师 t002 张老师 null t003 王老师 教授

使用可视化新增一门课,c001 c语言 t001

删除t001老师

修改t002老师的职称为讲师
delete from sc;
delete from s;
delete from c;
delete from t;

insert into t values
('T1','LIU老师','讲师')
,('T2','王老师',null)
,('T3','王强老师','教授');

insert into c values
('C1','数据库','T1')
,('C2','数据结构','T1')
,('C3','操作系统','T2')
,('C4','机器学习','T3')
,('C5','C语言','T2')
,('C6','JAVA','T3');

insert into s values
('S1','兔八哥',18,1),
('S2','何同学',20,1),
('S3','DJ同学',17,1),
('S4','哲别哥',29,1),
('S5','田田圈',16,0),
('S6','二四酱',20,0),
('S7','虫虫',20,0),
('S8','空卡',22,0);

delete from sc;
insert into sc values
('S1','C1',90),
('S1','C2',100),
('S1','C3',85),
('S1','C4',90),
('S1','C5',100),
('S1','C6',88),

('S2','C1',99),
('S2','C4',98),
('S2','C5',99.5),

('S3','C1',95),
('S3','C2',90),
('S3','C6',93),

('S4','C1',98),
('S4','C2',99),
('S4','C6',59),

('S6','C3',100),

('S7','C1',98),
('S7','C2',78),
('S7','C5',87),

('S8','C2',89),
('S8','C1',96),
('S8','C3',97),
('S8','C6',58);
1、学习课程号为C2课程的学生学号和成绩

2、查询学习课程C2课程的学生学号和姓名(3种写法)

3、至少选修LIU老师所授课程中一门课程的学生学号和姓名

4、查询选修课程号C2或C4课程的学生学号

5、查询至少选修课程号C2和C4课程的学生学号

6、查询不学C2课的学生姓名和年龄

7、查询学习全部课程的学生姓名

8、查询课程包含学生S3所学课程的学生学号
1、求男学生的总人数和平均年龄

2、查询有职称的老师人数

3、统计选修了课程的学生人数 ①distinct ②嵌套

————————————————————————————————————————————————————
4、统计每门课程的学生选修人数,要求显示课程号、课程名、学生人数 as

5、求每个教师每门课程的学生选修人数(超过2人)
要求显示教师工号、课程号、学生人数。
显示时,查询结果按人数升序排列,人数相同按教师工号升序,课程号降序
————————————————————————————————————————————————————————
6、查询姓名中第三字是同的同学 【注意】  
6-1 添加一位老师 T9 “过儿香菜” null
————————————————————————————————————————————————
7、查询有职称的老师 null
——————————————————————————————————————————————
8、查询至少有一门成绩超过学生S2一门成绩的学生学号

9、查询平均成绩最高的的学生学号

10、查询每个老师的授课数
1、给成绩字段按降序创建一个索引index1

2、删除索引index1

3、创建视图v1 (学号 学生姓名 课程名 成绩)【注意】

4、删除视图v1
4、创建视图v2 (学号,平均分) 

5、查询每个同学比自己平均分高 S#,C#

6、创建视图v3(职工号,姓名)

7、利用视图删除“过儿香菜”老师
posted @ 2022-05-12 19:54  DJ同学  阅读(39)  评论(0编辑  收藏  举报