精选
SET 年龄=45
WHERE 职工号='6887 ' ;
12. 把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他再将此权力授予其他用户。
答案:. GRANT select,insert ,delete ON TABLE 社会团体,参加 TO 李平 WITH GRANT OPTION ;
现有关系数据库如下
学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用关系代数表达式实现下列1—2
1. 检索“英语”专业学生的学号、姓名、性别。
2.检索课程号为“10031”,课程成绩高于90分的所有学生的学号。
1. П学号,姓名,性别(σ专业='英语'(学生))
2. П学号 (σ分数>90∧课程号='10031'(学习))
用SQL语言实现下列3—10
3. 检索姓王学生的姓名、专业。
答案:SELECT姓名,专业FROM 学生WHERE 姓名 LIKE“王%”;
4. 检索奖学金在200元以下的学生姓名和专业。
答案:SELECT姓名,专业
FROM 学生
WHERE 奖学金<200;
5. 检索选修课程号为“C135”课程的学生信息,包括学号,姓名和专业
答案:SELECT 学号,姓名,专业FROM 学生,学习
WHERE 课程号='C135' and 学生.学号=学习.学号;
6. 检索学习‘C1’号课程的学生最高分。
答案:SELECT MAX(分数)
FROM学习
WHERE 课程号='C1';
7. 向学生表中插入一个记录(‘980810’,‘王东’,‘男’,‘计算机’,150)
答案:.INSERT INTO 学生
VALUES(‘980810’,‘王东’,‘男’,‘计算机’,150);
8. 定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数
答案:CREATE VIEW AAA(学号,姓名,课程号,分数)
AS SELECT 学号,姓名,课程号,分数 FROM 学生,学习
WHERE 学生.学号 =学习.学号 AND 专业=’英语’;
9. 检索所有有成绩的学生学号和课程号。
答案:SELECT学号,课程号答案:.SELECT学号,成绩 FROM学习
欢迎下载
FROM学习WHERE 成绩 IS NULL;
10. 检索选修C56 课程的学生学号和成绩,检索结果按分数的降序排列。
精选
WHERE 课程号=‘C56’
ORDER BY 成绩 DESC;
有如下三个关系表
st(sno,sn,sa,ss):学生表格,sno:学号sn:姓名sa:年龄ss:性别
sc(sno,cno,score): 学生选择课程表格,sno:学号cno:课程号score:成绩 c(cno,cn,ct): 课程表格,cno:课程号cn:课程名ct:课程学时 1. 用关系代数写出下面查询的表达式(每题4分) (1)查找所有女生的学号、姓名和年龄。
?
SNO,SN,SA(?SS?'女'(ST))(2)查找选修了“数据库技术”的学生学号和成绩。
?SNO,SCORE(?CN?'数据库技术'(SC??C))
(3)查找选修了“软件工程”的男生姓名和年龄。
?SN,SA(?CN?'软件工程'?SS?'男(ST??SC??C))
'2. 请按以下题目的要求写出相应的SQL语句(每题4分) (1)定义学生关系表,要求学号属性非空,取值唯一; create table st(sno char(10) not null unique, sn char(20) , sa int,
ss char(2));
(2)查询年龄大于26岁的男生学号和姓名;
select sno, snfrom stwhere sa>26 and ss=’男’; (3)查询全体学生的姓名和出生年份; select sn, 2024-safrom st;
(4)查询年龄18到30岁之间的学生姓名和年龄;
select sn, safrom stwhere sa between 18 and 30; (5)查询所有姓孙的学生学号、姓名;
欢迎下载
精选
select sno,snfrom st where sn like ‘孙%’; (6)查询男女学生的平均年龄;
select ss , avg(sa) from st group by ss; (7)查询学习5号课程的最高分和最低分。
select max(score),min(score) from sc; 综合题:
某个学校有若干个系,每个系有若干个学生,开设若干个课程,每门课程有若干学生选修,某一门课可以为不同的系开设。用E-R图画出该学校的概念模型。 描述学生的属性有:学号、姓名、出生日期、系号、班号; 描述系的属性有:系名、系号、系办公室地点、人数; 描述学校的属性有:学校名、成立年份、地点; 描述课程的属性有:课程号、课程名、学分。 (1) 设计学校的E-R图。
(2)将该E-R图转换为关系模式。
关系模型如下。
学生(学号、姓名、出生日期、系号、班号)。 系(系名、系号、系办公室地点、人数)。 学校(学校名、成立年份、地点) 课程(课程号、课程名、学分)
(3)指出转换结果中每个关系模式的候选码。
学生关系的主码:用户名 系的主码:系号
欢迎下载
精选
学校主码:学校名 课程主码:学校名
有三个关系如下
(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex; (2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。
1.定义学生关系Student,学号不能为空,其值唯一,姓名值也唯一,学号为主码; CREATE TABLE Student
(Sno CHAR(10)NOT NULL UNIQUE PRIMARY KEY, Sname CHAR(30) UNIQUE, Sage INT ,
Ssex CHAR(2)) ;
2. 查询1号课程的平均成绩;
SELECT AVG(Grade)FROM SCWHERE Cno=‘1’;
3. 查询学号“95001”的学生选修全部课程号和成绩; SELECT Cno,GradeFROM SCWHERE Sno=‘95001’; 4. 查询年龄在19-20岁之间的男生和女生的数量;
SELECT Ssex,COUNT(Sno) FROM Student
WHERE Sage≥19 and Sage≤20 GROUP BY Ssex;
或者:WHERE Sage BETWEEN 19 and 20
有三个关系如下:
(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex; (2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。
1.查询“软件工程”课程的平均成绩; SELECT AVG(Grade) FROM Course,SC
WHERE Cname=‘软件工程’ AND SC.Cno=Course.Cno; 或者:SELECT AVG(Grade)
FROM SCWHERE Cno IN(SELECT CnoFROM CourseWHERE Cname=‘软件工程’) 2.查询名字中第2个字为\阳\字的学生的姓名和学号。 SELECT Sname,Sno
欢迎下载
精选
FROM Student
WHERE Sname LIKE ‘_ _阳%’;
3.查询刘阳同学所选修的课程号和课程名
SELECT Course.Cno,CnameFROM CourseWHERE Cno IN (SELECT Cno FROM SC WHERE Sno IN
(SELECT SnoFROM Student WHERE Sname= ‘刘阳’));
或者:SELECT Course.Cno,SnameFROM Student,Course,SC
WHERE Sname= ‘刘阳’ AND SC.Cno=Course.CnoANDStudent.Sno=SC.Sno; 4查询学生数据库课的成绩,输出学生姓名和成绩,按成绩排序(降序)。
SELECT Sname,Grade FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno AND Course.Cname=’数据库’ ORDER BY Grade DESC; 5.检索没有成绩的学生姓名和课程号。
Select Sname,CnoFrom Student,SCWhere Grade is NULL AND Student.Sno=SC.Sno
有三个关系如下
(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex; (2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。 使用SQL语句实现:
1. 为学生表建立一个聚簇索引STUNO,按学号升序和年龄降序。
CREAT CLUSTER INDEX Stuon ON Student(SNO ASC,SAGE DESC); 2. 查询王寒同学没有选修的课程的课程号
SELECT Cno FROM Course
WHERE Cno NOT IN (SELECE Cno
FROM SC, Student
WHERE SC.Sno=Student.Sno AND Sname=”王寒”) ;
3. 创建一个成绩高于90分的学生视图S1 ,包括学生学号、出生年份、所选课程号、成绩。
CREAT VIEW S1(Sno,Sbirth,Cno,Grade ) ASSELECT Sno,2024-Sage,Cno, Grade
FROM Student,SCWHERE Student.Sno=Sc.Sno AND Grade>90 4. 向课程表中增加属性任课教师(Tname),类型是字符型
ALTER TABLE CourseAdd Tname char(20) 5.将课程号为‘003’课程成绩增加10分
UPDATE SCSET Grade= Grade+10 WHERE Cno=‘003’
有三个关系如下
(1)学生关系Student,包括学号Sno、姓名Sname、年龄Sage、性别Ssex; (2)课程关系Course,包括课程号Cno、课程名Cname、任课教师Cteacher; (3)学生选课关系SC,包括Sno、Cno和成绩Grade。 下面使用关系代数表达式实现:
1. 查询课程名为数据库原理,授课教师为刘洋的课程号。
欢迎下载