数据库上机实验七(多表连接查询、子查询) 您所在的位置:网站首页 连接查询的实验总结 数据库上机实验七(多表连接查询、子查询)

数据库上机实验七(多表连接查询、子查询)

2024-07-16 19:38| 来源: 网络整理| 查看: 265

在Student表和score表上进行查询。Student表和score表的定义如下表所示:

 

score表数据如下: 1.查询操作:

1)查询李五一的考试科目和考试成绩

2)查询所有学生的信息和考试信息

3)计算每个学生的总成绩(需显示学生姓名)

4) 计算计算机成绩低于95分的学生的信息

5)查询同时参加计算机和英语考试的学生的信息

6)从student表和score表中查询学生的学号,然后合并查询结果

7)查询姓张或姓王同学的姓名、院系、考试科目和成绩

8) 查询都是湖南的同学的姓名、年龄、院系、考试科目和成绩。

1)查询李五一的考试科目和考试成绩 SELECT a.Name,b.Cname,b.Grade FROM Student AS a JOIN score AS b ON a.Num=b.Num WHERE a.Name='李五一'; 2)查询所有学生的信息和考试信息 SELECT * FROM Student AS a JOIN score AS b ON a.Num=b.Num; 3)计算每个学生的总成绩(需显示学生姓名) SELECT a.Name, SUM(Grade) FROM Student AS a JOIN score AS b ON a.Num=b.Num GROUP BY a.Num; 4) 计算计算机成绩低于95分的学生的信息 SELECT a.Num,a.Name,a.Dept,a.Address,a.Birthday ,b.Grade,b.Cname FROM Student AS a JOIN score AS b ON a.Num=b.Num WHERE b.Grade=( SELECT AVG(SCORE) FROM SC AS Y GROUP BY Y.SNO HAVING Y.SNO=X.SNO); -- 查询选修了C1课程的学生的学号姓名 SELECT SNO,SN FROM S WHERE EXISTS (SELECT * FROM SC WHERE SC.SNO=S.SNO AND CNO='C1'); SELECT S.SNO,S.SN FROM S JOIN SC ON S.SNO=SC.SNO WHERE SC.CNO='C1'; -- 查询没有选修1号课程的学生姓名 SELECT SNO,SN FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.SNO=S.SNO AND CNO='C1'); -- 其它 -- 创建一个user1表,id username CREATE TABLE user1( id int UNSIGNED AUTO_INCREMENT KEY, username VARCHAR(20) )SELECT id,username FROM emp; -- 将stu表中id=3的用户名写入到user1表中 INSERT user1(username) SELECT username FROM stu where id=3; -- 创建象user1一样的表user2 CREATE TABLE user2 LIKE user1; INSERT user2(username) SELECT username FROM stu; -- 将stu表中的tiancai用户名添加到user2表中 INSERT user2 SET username=(SELECT username FROM stu WHERE id=5); -- 去掉字段的重复值 SELECT DISTINCT(username) FROM user2; -- 将user1和user2数据合并到一起 --去重 SELECT username FROM user1 UNION SELECT username FROM user2; --不去重 SELECT username FROM user1 UNION ALL SELECT username FROM user2;



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有