2 select sname, 2014-Sage from S
3 select sname, sage from S where sage between 20 and 22
4 select * from S order by sdept asc, sage desc
5 select S.sno, sname from S, C, SC where S.sno=SC.sno and SC.cno=C.cno and Cname='数据库
1、select C# from SC where S#='040011'2、select S#, SN from S where S# in (select S# from SC where G >= 80 and C# in (select C# from C where CN = '数据库概论'))
3、select S#, count(*), avg(G) from SC group by S# having count(*) >2
自己写的,亲测可用。请给分。3、已知三个关系模式:
学生 S(S#,SNAME,AGE,SEX),其属性的含义为:学号,姓名,年龄,性别;
学习成绩 SC(S#,C#,GRADE) ,其属性的含义为:学号,课程号,成绩;
课程 C(C#,CNAME,TEACHER),其属性的含义为:课程号,课程名,教师。
(1)请用关系代数表达式描述查询:学号为‘S2’的学生所选课程的课程号。
答: Pi C#(Delta S#=‘S2’(S))其中Pi表示投影,Delta 表示选择
(2)完善下面的SQL语句片断。
答:
CREATE TABLE SC(
S# CHAR(10),
C# CHAR(10),
GRADE NUMBER(2),
primary key (S#,C#), /*建立主码约束*/
FOREIGN KEY REFERNCES S(S#), /*在S#列上建立外码约束*/
……
)
(3)用SQL查询块描述下列查询:
学生“李勇”所选选修的课程名。
答: SELECT C.CNAME
FROM S, SC, C
WHERE S. SNAME='李勇'
AND S.S#=SC.S#
AND C.C#=SC.C#
统计每门课程的选课人数。
答:SELECT C.CNAME, COUNT(S.S#)
FROM SC, C, S
WHERE C.C# = SC.C#
AND SC.S# = S.S#
group by C.CNAME
在学生表中插入数据(‘1001’,‘王勇’,‘男’,19)
答:INSERT INTO S VALUES ('1001','王勇','男',19)
COMMIT
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)