SQL查询练习

发布 2021-05-08 19:43:28 阅读 8053

一、有三个关系,试用关系代数表达式表示下列查询语句:

s(sno,sname,age,sex,sdept)

c(cno,cname,cdept,tname) tname表示授课老师名。

sc(sno,cno,grade)

1) 检索年龄小于22岁的男学生的学号与姓名。

2) 检索学号为s3学生所学课程的课程名与任课教师名。

3) 检索王老师所授课程的课程号、课程名。

4) 检索至少选修王老师所授课程中一门课的男学生姓名。

5) 检索陈同学不学的课程的课程号。

6) 检索全部学生都选修的课程的课程号、课程名。

7) 检索选修课程包含王老师所授课程的学生学号。

8) 检索至少选修两门课程的学生学号。

9) 查询至少选修了2号课程和8号课程的学生姓名。

10) 查询张红的年龄。

11) 查询李明同学不及格的课程名称。

12) 查询选修了“计算机网络”的学生姓名。

13) 查询“计算机网络”成绩在90分以上的学生姓名。

二、设有下列四个关系模式:

s (sno, sname, city);

p (pno, pname, color, weight);

j (jno, jname, city);

spj(sno, pno, jno, qty)。

其中,**商关系s由**商号(sno)、**商姓名(sname)、**商所在城市(city)组成。零件关系p由零件号(pno)、零件名称(pname)、零件颜色(color)、零件重量(weight)组成,用于记录各种零件的情况。项目关系j由项目号(jno)、项目名称(jname)、项目所在城市(city) 组成。

**情况关系spj由**商号(sno)、零件号(pno)、项目号(jno)、**数量(qty) 组成。试用关系代数表达式完成以下操作:

1) 检索**项目j2零件的**商号(sno)。

2) 检索**项目j2零件p2的**商号(sno)。

3) 检索**项目j2黑色零件的**商姓名(sname)。

4) 检索没有使用天津**商生产的黑色零件的项目号(jno)。

5) 检索使用了s1**所**的全部零件的项目名称(jname)。

三、对student、course、scg三个表用sql完成以下操作:

student(sno,sname,age,sex,sdept)

course(cno,cname,pcno,ccredit,cdept,tname)

scg(sno,cno,grade)

1.创建关系表stu1(sno,sname,ssex,sbirth,sdept)。

2.对student按姓名建立索引。

3.查询信息系所有年龄不大于21岁的女生。

4.查询2023年出生的男生的姓名。

5.查询信息系、金融系所有姓“王”的同学的姓名和年龄。

6.查询姓“王”的男同学的人数。

7.查询2号课程的最低分。

8.查询总分最高的学生的学号。

9.查询每个同学的平均分。

10.查询每个同学所选修的课程门数。

11.查询“计算机网络”90分以上的同学的姓名。

12.查询每门课程的课程名及选修人数。

13.查询选修了全部课程的学生姓名。

14.查询总学分已超过40学分的学生学号、姓名、总学分。

15.查询至少选修了学生“20021710233”选修的全部课程的学生姓名。

16.查询其他系中比“cs”系任一学生年龄都小的学生名单。

17.查询每一个同学的学号、姓名、选修的课程名及分数。

18.查询信息系学生或年龄小于20岁的学生。

19.查询信息系学生与年龄小于20岁学生的交集。

20.查询信息系学生与年龄小于20岁学生的差集。

21.向student增一新生(“20021710146”,“王飞”,“男”,12/22/1985,“jsj”)

22.删除“李军”同学的所有信息。

23.为信息系所有男生建一视图vs_ism。

24.利用视图vs_ism查询信息系“王强”同学。

25.查询年龄在25-30之间的学生姓名及性别。

26.查询姓“欧阳”的学生 。

27.查询信息系is,数学系ma和计算机系cs的学生。

28.检索蒋炎焱老师所授课程的课程号和课程名。

29.检索年龄大于23岁的男学生的学号和姓名。

30.检索至少选修蒋炎焱老师所授课程中一门课程的女学生姓名。

31.检索wang同学不学的课程的课程号。

32.检索至少选修两门课程的学生学号。

33.检索全部学生都选修的课程的课程号与课程名。

34.检索选修课程包含蒋炎焱老师所授课程的学生学号。

35.统计有学生选修的课程门数。

36.求选修5号课程的学生的平均年龄。

37.求蒋炎焱老师讲授的每门课程的学生平均成绩。

38.统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

39.检索学号比wang同学大,而年龄比他小的学生姓名。

40.检索姓名以wang打头的所有学生的姓名和年龄。

41.在scg中检索成绩为空值的学生学号和课程号。

42.求年龄大于女同学平均年龄的男学生姓名和年龄。

43.求年龄大于所有女同学年龄的男学生姓名和年龄。

44.在基本表student中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表student2(sno,sname,sex)。

45.在基本表scg中删除尚无成绩的选课元组。

46.把wang同学的选课和成绩全部删去。

47.把选修maths课不及格的成绩全改为空值。

48.把低于总平均成绩的女同学成绩提高5%。

49.在基本表scg中修改3号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个update语句实现)。

四、假设工程一零件数据库中有五个基本表:

**商supplier (**商号,姓名,所在城市,联系**)

工程project (工程号,工程名,负责人,预算,日期)

零件part (零件号,零件名,规格,产地,颜色);

工程零件p_p (工程号,零件号,数量)

采购p_s(零件号,**商号,数量)

试用sql语句完成下列操作:

1.试用sqlddl语句定义上述五个基本表,并说明主键和外键。

2. 查找预算在5000-10000元之间的工程的信息,并将结果按预算降序排列。

3. 找出使用**商si所供零件的工程号。

4. 找出工程项目j2使用的各种零件名称及其数量。

5. 找出上海厂商**的所有零件号。

6. 找出使用上海产的零件的工程名称。

7. 找出没有使用天津产零件的工程号。

8. 把全部红色零件的颜色改成蓝色。

9. 将由**商s5供给工程号为j4的零件p6改为由s3**,并作其他必要的修改。

10.从**商关系中删除s2的记录,并从工程零件关系中删除相应的记录。

11. 找出天津市**商的姓名和**。

12.试将project、p_p、part三个基本表的自然联接定义为一个视图view1,将part、 p_s、supplier三个基本表的自然联接定义为一个视图view2。

13.在上述两个视图的基础上,检索上海的**商所**的零件的编号和名字。

14.在上述两个视图的基础上,检索项目所用零件的**商编号和名字。

五、设职工一社团数据库有三个基本表:

职工(职工号,姓名,年龄,性别);

社会团体(社团号,名称,负责人,活动地点)

参加(职工号,社团号,参加日期)

其中:1)职工表的主码为职工号。

(2)社会团体表的主码为社团号;外码为负责人,被参照表为职工表,对应属性为职工号。

(3)参加表的职工号和社团号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;社团号为外码,其被参照表为社会团体表,对应属性为社团号。

试用sql语句表达下列操作:

1.定义职工表、社会团体表和参加表,并说明其主码和参照关系。

2.建立下列两个视图:

社团负责人(社团号,名称,负责人职工号,负责人姓名,负责人性别);

参加人情况(职工号,姓名,社团社团号,社团名称,参加日期)。

3.查找参加唱歌队或篮球队的职工号和姓名。

4.查找没有参加任何社会团体的职工情况。

5.查找参加了全部社会团体的职工情况。

6.查找参加了职工号为“101”的职工所参加的全部社会团体的职工号。

7.求每个社会团体的参加人数。

8.求参加人数最多的社会团体的名称和参加人数。

9.求参加人数超过1的社会团体的名称和负责人。

SQL查询练习

下面以学生 课程数据库 xs kc 为例介绍。该数据库中有学生情况表 xsqk 课程表 xskc 学生成绩表 xscj xsqk 学号 姓名 出生年月 系别 专业 班级。xskc 课程号课程名学分。xscj 学号课程号成绩。1 查询学生情况表中全体学生的信息。select from xsqk 2 查...

sql查询练习

以下查询均基于该数据库。成绩管理数据库,包含四张表 学生表 学号,姓名,性别,出生日期,籍贯,入学成绩,专业 课程表 课程号,课程名称,学分,教师号 成绩表 学号,课程号,成绩 教师表 教师号,姓名,性别,所在部门,职称,出生日期,专职,基本工资 1.查询学分在2至4之间的课程号 课程名和学分。2....

SQL查询练习

第5章sql查询练习 1.新北方学校 的学生信息管理系统数据库中的学生表 tstudent 有7个字段 学生编号 字符型 姓名 字符型 性别 字符型 出生日期 日期型 年龄 数字 国籍 字符型 所在系 字符型 其中学生编号是主键 用sql语言完成下列功能 1 添加一个学生记录,编号为ts076,姓名...