28) 使用左外连接完成27); SELECT 教师姓名
from t_teacher left join t_course
on t_teacher.teano=t_course.teano and t_course.coursename='大学物理'; 29) 使用右外连接完成27); SELECT 教师姓名
from t_course right join t_teacher
on t_teacher.teano=t_course.teano and t_course.coursename='大学物理'; 30) 查询T_STUDENT内所有人的姓名和性别; SELECT STUNAME,STUSEX FROM T_STUDENT 31) 将学号和姓名用下划线连接,显示在一列; SELECT STUNAME||'_'||STUNO FROM T_STUDENT 32) 显示教授的所有资料;
SELECT T_TEACHER.*,T_COURSE.COURSENAME FROM T_TEACHER,T_COURSE
WHERE T_TEACHER.TEANO=T_COURSE.TEANO AND T_TEACHER.TEATITLE='教授' 33) 显示姓张的男生的姓名; SELECT STUNAME FROM T_STUDENT
WHERE STUNAME LIKE'张%' 34) 将所有的分数显示为与60分的差值,同时也显示原分数; SELECT SCORE-60 AS\分数差值\原分数\FROM T_SCORE 35) 查询高级职称以下的教师姓名,高级职称以下为副教授和讲师; SELECT TEANAME FROM T_TEACHER
WHERE TEATITLE IN('副教授','讲师') 36) 学校需要请学生对教授的教学作评价,因此需要通知相关学生。请查询出:教授所
教过的课程,有哪些学生选过?列出他们的姓名; SELECT DISTINCT COURSENAME,STUNAME
FROM T_STUDENT,T_TEACHER,T_SCORE,T_COURSE WHERE T_STUDENT.STUNO=T_SCORE.STUNO
AND T_SCORE.COURSENO=T_COURSE.COURSENO AND T_COURSE.TEANO=T_TEACHER.TEANO AND T_TEACHER.TEATITLE='教授' 37) 查询郭莉芳的哪些科目期末考试没有及格?列出这些科目的名称和分数; SELECT T_COURSE.COURSENAME,T_SCORE.SCORE FROM T_STUDENT,T_COURSE,T_SCORE
WHERE T_STUDENT.STUNO=T_SCORE.STUNO
AND T_COURSE.COURSENO=T_SCORE.COURSENO AND T_STUDENT.STUNAME='郭莉芳'
AND T_SCORE.SCORE<60
38) 统计学生姓名的数量; SELECT COUNT(STUNAME) FROM T_STUDENT 39) 查询学校有多少名教师; SELECT COUNT(TEANAME) FROM T_TEACHER 40) 查询为“梁天”的教师讲了多少门课; SELECT COUNT(COURSENAME) FROM T_TEACHER,T_COURSE
WHERE T_TEACHER.TEANO=T_COURSE.TEANO AND T_TEACHER.TEANAME='梁天' 41) 查询参加过考试的学生数量; SELECT COUNT(DISTINCT STUNO) FROM T_SCORE 42) 查询郭莉芳选了多少门课; SELECT COUNT(COURSENAME)
FROM T_STUDENT,T_COURSE,T_SCORE
WHERE T_STUDENT.STUNO=T_SCORE.STUNO
AND T_SCORE.COURSENO=T_COURSE.COURSENO AND T_STUDENT.STUNAME='郭莉芳'
43) 查询课程C002的期末考试平均分; SELECT AVG(SCORE) FROM T_SCORE
WHERE COURSENO='C002' AND TYPE='期末' 44) 查询课程C003的期中考试总分; SELECT SUM(SCORE) FROM T_SCORE
WHERE COURSENO='C003' AND TYPE='期中'
45) 查询学校所有考试记录的总分; SELECT SUM(SCORE) FROM T_SCORE 46) 查询课程C004的期末考试最高分; SELECT MAX(SCORE) FROM T_SCORE
WHERE COURSENO='C004' 47) 查询每个教师讲授的课程数量,并将其姓名和课程数量显示出来; SELECT TEANAME,COUNT(COURSENAME) FROM T_TEACHER,T_COURSE
WHERE T_TEACHER.TEANO=T_COURSE.TEANO GROUP BY TEANAME
48) 查询郭莉芳每门课的平均分,显示课程名称和平均分; SELECT COURSENAME,AVG(SCORE) FROM T_COURSE,T_STUDENT,T_SCORE
WHERE T_STUDENT.STUNO=T_SCORE.STUNO
AND T_SCORE.COURSENO=T_COURSE.COURSENO AND T_STUDENT.STUNAME='郭莉芳' GROUP BY COURSENAME 49) 学校要查询哪门课的授课效果最好,请查询各门课程平均分的最大值; SELECT MAX(AVG(SCORE)) FROM T_SCORE
GROUP BY COURSENAME
50) 向T_TEACHER表中添加一条记录,教师编号为T009,教师姓名为汤路名,职称为
教授;
INSERT INTO T_TEACHER VALUES('T009','汤路名','教授') 51) 由于有些学生表现比较优秀,拟将其升级为教师。向T_TEACHER表中添加一些
记录,这些记录为:平均分75分以上的学生和学号、姓名,他们的职称为助教; INSERT INTO T_TEACHER(TEANO,TEANAME,TEATITLE) SELECT STUNO,STUNAME,'助教' FROM T_STUDENT WHERE STUNO IN (SELECT STUNO FROM T_SCORE GROUP BY STUNO
HAVING AVG(SCORE)>75 ) 52) 删除T_STUDENT表中的女生记录; DELETE FROM T_STUDENT WHERE STUSEX='女' 53) 删除T_COURSE表中的全部记录; DELETE FROM T_SCORE 54) 删除女生的分数记录; DELETE FROM T_SCORE WHERE STUNO IN
(SELECT STUNO FROM T_STUDENT WHERE STUSEX='女' ) 55) 将所有的学生分数增加5分; UPDATE T_SCORE SET SCORE=SCORE+5 56) 将所有的学生分数增加5分,类型变为“正常考试”; UPDATE T_SCORE SET SCORE=SCORE+5,TYPE='正常考试'
57) 将所有女生的性别变为GIRL;
UPDATE T_STUDENT
SET STUSEX='GIRL' WHERE STUSEX='女' 58) 创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。性别
为默认“男”。编号为主键; CREATE TABLE STAFF_WAGE(
STAFFNO VARCHAR2(16) PRIMARY KEY, STAFFNAME VARCHAR2(16), STAFFSEX CHAR(6) DEFAULT'男', BIRTH DATE,
WAGE NUMBER(6,2)) 59) 将54创建的员工工资表改名;
ALTER TABLE STAFF_WAGE RENAME TO STAFFWAGE
60) 创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。其中,
员工的编号来自所有学生的学号,员工的姓名来自所有学生姓名,员工的性别来自学生性别,出生年月来自学生的出生年月,工资为0
(利用:CREATE TABLE 表名【列名1(,列名2…..)】 AS
子查询 )
CREATE TABLE WAGESAMPLE( STAFFNO, STAFFNAME, STAFFSEX, BIRTH, WAGE)
AS SELECT STUNO,STUNAME,STUSEX,STUBIR,0 FROM T_STUDENT 61) 在T_TEACHER表中增加性别和出生年月列;
ALTER TABLE T_TEACHER ADD(TEASEX CHAR(6),TEABIR BIR)
62) 在T_TEACHER表中删除性别和出生年月列; ALTER TABLE T_TEACHER DROP TEASEX,TEABIR
63) 在T_TEACHER表中,将TEANAME重命名为“教师姓名”;
ALTER TABLE T_TEACHER RENAME COLUMN TEANAME TO \教师姓名\64) 在T_TEACHER表中,将TEATITLE的数据类型改为VARCHAR2(30); ALTER TABLE T_TEACHER MODIFY TEATITLE VARCHAR2(30) 65) 创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。编号
和姓名组合为主键;
CREATE TABLE STAFF_WAGE(
STAFFNO VARCHAR2(16) NOT NULL, STAFFNAME VARCHAR2(16) NOT NULL, STAFFSEX CHAR(6), BIRTH DATE,
WAGE NUMBER(6,2),
PRIMARY KEY(STAFFNO,STAFFNAME)) 66) 创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。编号
为主键,姓名唯一;
CREATE TABLE STAFF_WAGE(
STAFFNO VARCHAR2(16) PRIMARY KEY, STAFFNAME VARCHAR2(16) UNIQUE, STAFFSEX CHAR(6), BIRTH DATE,
WAGE NUMBER(6,2)) 67) 将T_STUDENT表中的STUNAME指定为唯一性约束; ALTER TABLE T_STUDENT ADD UNIQUE(STUNAME) 68) 将65题中指定的唯一性约束删除;
ALTER TABLE T_STUDENT DROP UNIQUE(STUNAME) 69) 创建一个员工工资表,包含各个员工的编号、姓名、性别、出生年月、工资。编号
为主键,性别只能是男或者女; CREATE TABLE STAFF_WAGE(
STAFFNO VARCHAR2(16) PRIMARY KEY, STAFFNAME VARCHAR2(16),
STAFFSEX CHAR(6) CHECK IN('男','女'), BIRTH DATE,
WAGE NUMBER(6,2)) 70) T_SCORE中的分数,要求在0-100之间;
ALTER TABLE T_SCORE ADD CONSTRAINT SCORECHECK CHECK(SCORE IN (0,100))
71) 为T_STUDENT的STUNAME建立索引;
CREATE INDEX I_NAME ON T_STUDENT(STUNAME) 72) 删除71题建立的索引; DROP INDEX I_NAME 73) 女生部长关心女生的信息,请将女生信息创建为一个视图; CREATE VIEW V_GIRL AS SELECT *
FROM T_STUDENT
WHERE STUSEX='GIRL' 74) 郭莉芳关心自己参加考试的课程编号、名称和考试平均成绩,请建立视图; CREATE VIEW V_GLF(COURSENO,COURSENAME,AVGSCORE) AS
SELECT T_COURSE.COURSENO,T_COURSE.COURSENAME,AVG(SCORE) FROM T_COURSE,T_SCORE,T_STUDENT
WHERE T_STUDENT.STUNO=T_SCORE.STUNO
AND T_SCORE.COURSENO=T_COURSE.COURSENO AND T_STUDENT.STUNAME='郭莉芳'
GROUP BY T_COURSE.COURSENO,T_COURSE.COURSENAME 75) 将全校的学生分数平均数查出来,存储在变量avascore内并打印;
SET SERVEROUTPUT ON;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库广东医学院数据库课程设计一(2)在线全文阅读。
相关推荐: