2022年数据库大全推荐 .pdf
数据库关系模式学生表: Student(Sno,Sname ,Ssex ,Sage ,Sdept)课程表: Course(Cno,Cname,Cpno,Ccredit)学生选课表: SC(Sno,Cno,Grade)1、创建表建立一个“学生”表Student CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); 2、查询全体学生的学号和姓名SELECT Sno,Sname FROM Student;、3、查询全体学生的详细记录SELECT * FROM Student;、4、查询所有计算机系学生的名单SELECT Sname 、FROM Student、WHERE Sdept=计算机;、5、查询所有年龄在 20 岁以下的学生姓名及其年龄SELECT Sname,Sage FROM Student WHERE Sage20;6、查询考试成绩有不及格的学生的学号SELECT DISTINCT Sno FROM SC WHERE Grade60;、7、查询年龄在 2030岁(包括 20和 23 岁)之间的学生的姓名、系别和年龄。、SELECT Sname, Sdept,Sage、FROM Student、WHERE Sage BETWEEN 20 AND 23;8、查询年龄在 2023岁之间的学生姓名、系别和年龄SELECT Sname,Sdept,Sag 、FROM StudentWHERE Sage NOT BETWEEN 20 AND 23; 9、查询计算机科学系( CS) 、数学系( MA )和信息系( IS)学生的姓名和性别SELECT Sname,Ssex 、FROM StudentWHERE Sdept IN ( CS , MA , IS ); 10、 查询既不是计算机系、 数学系,也不是信息系的学生的姓名和性别SELECT Sname, Ssex 、FROM StudentWHERE Sdept NOT IN ( CS , MA , IS ) ;11、查询所有姓刘的学生的姓名、学号和性别SELECT Sname,Sno,Ssex 、FROM StudentWHERE Sname LIKE 刘% ;12、查询姓“欧阳”且全名为 3个汉字的学生的姓名。SELECT Sname 、FROM StudentWHERE Sname LIKE 欧阳 _ ;13、查询 DB_Deign 课程的课程号和学分SELECT Cno,Ccredit 、FROM CourseWHERE Cname LIKE DB_Deign ESCAPE 14、缺少成绩的学生的学号及相应的课程号。SELECT Sno,Cno 、FROM SCWHERE Grade IS NULL; 15、查询所有有成绩学生学号和课程号SELECT Sno,Cno 、FROM SCWHERE Grade IS NOT NULL; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 16、查询计算机科学系年龄在20 岁以下的学生姓名SELECT Sname 、FROM StudentWHERE Sdept=CS AND Sage3;26、查询每个学生及其选修课程的情况SELECT Student . *, Sno . * FROM Student , Sno WHERE Student . Sno= SC . Sno ;27、查询选修 2 号课程且成绩在 90 分以上的所有学生。SELECT Student . Sno , Sname FROM Student , SC WHERE Student . Sno= SC . Sno AND SC . Cno= 2 AND SC . Grade9028、查询每个学生的学号、姓名、选修的课程名及成绩SELECT Student . Sno ,Sname,Cname,Grade FROM Student , SC,Course WHERE Student . Sno= SC . Sno AND SC . Cno = Course. Cno29、查询选修了2 号课程的学生的姓名SELECT Sname 、FROM StudentWHERE Sno IN (SELECT Sno FROM SC WHERE Cno= 1 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 30、找出每个学生超过他选修课程平均成绩的课程号SELECT Sno,Cno 、FROM SC XWHERE Grade=(SELECT A VG(Grade) FROM SC Y WHERE y . Sno=x. Sno) ;31、 查询其他系中比计算机科学系所有学生年龄都小的学生姓名及年龄SELECT Sname 、FROM StudentWHERE SageALL (SELECT Sdept FROM Student WHERE Sdept= CS )AND Sdept CS;32、将计算机科学系全体学生的成绩置零UPDATE SC SET Grade=0 WHERE CS= (SELECT Sdept FROM Student WHERE Student. Sno=SC. Sno); 33、删除学号为 200215128的学生记录DELETE FROM Student WHERE Sno=200215128 ;34、 删除计算机科学系所有学生的选课记录DELETE FROM SC WHERE SC= (SELECT Sdept FROM Student WHERE Student. Sno= SC. Sno);35、建立信息系学生的视图CREATE VIEW IS_Student AS SELECT Sno, Sname,Sage 、FROM StudentWHERE Sdept=IS ;36、建立信息系选修了1 号课程且成绩在 90 分以上的学生的视图CREATE VIEW IS_S2 AS SELECT Sno,Sname, Grade FROM IS_S1 WHERE Grade=90; 37、 将学生的学号及他的平均成绩定义为一个视图CREATE VIEW IS_S2 AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno;38、把查询 Student 表的权限授给用户 U1 GRANT SELECT ON TABLE Student TO U1; 39、把查询 Student表和修改学生学号的权限授给用户 U4. GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4 ; 40、收回REVOKE SELECT ON TABLE Student FROM U1; SELECT 什么涉及空值查询: IS NULL 、IS NOT NULL FROM 哪个表对查询结果排序: ORDER BY DESC ASC (缺省)WHERE 条件降序升序默认为升序去掉重复 DISTENCT COUNT 人数、 AVG 平均、 MAX 最大、 MIN 最小、 SUM 总和在里 IN, 不在里 NOT IN 分组查询: GROUP BY 筛选 HAVING NOT BETWEEN AND UPDATE 修改条件SET 列值字符匹配: LIKE , NOT LIKE, 删除 DELETE % :所以字符串匹配创建视图CREATE VIEW 视图名(列名 1,列名 2.列名 n)_ :只与单个字符串匹配AS 子查询;授权 GRANT 收回 REVOKE 并允许此授权再授予其他WITH GRANT OPTION 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -