现有三个自由表:
学生信息表:{},由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在院系(Sdept)五个属性组成,其中为Sno主码。
课程信息表:{},由课程号(Cno)、课程名(Cname)、选修课号(Cpno)、学分(Ccredit)四个属性组成,其中Cno为主码。
学生选课表:{},由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,主码为(Sno, Cno)。
请按下面要求写出SQL代码:
查询所有学生的全部信息。
sele * from mystudent
查询全体学生的姓名及出生年份(今年为2005年)。
sele sname,2005-sage from mystudent
计算课程“3503”的学生的平均成绩。
sele avg(grade) from mysc where cno="3503"
查询全体学生的学号与姓名。
sele sno,sname from mystudent
查询性别为“女”的学生的学号、姓名和性别。
sele sno,sname,ssex from mystudent where ssex="女"
查询选修课程“3502”的学生的最高分数。
sele max(grade) from mysc where cno="3502"
查询mySc.dbf中的记录数。
sele coun( *) from mysc
查询各个课程号及相应的选课人数。
sele cno,coun(cno) from mysc grou by cno
查询姓“李”的学生的学号、姓名和性别。
sele sno,sname,ssex from mystudent where sname="李"
(1) 查询性别为“男”且年龄大于等于20的学生的学号、姓名和性别。
sele sno,sname,ssex from mystudent where ssex="男"and Sage>=20
(1) 查询选修了4门以上课程的学生的学号和姓名。
sele sno,sname from myStudent where sno in (sele sno from mysc grou by sno having count(sno)>=4)
(2) 查询选修了课程“3503”的学生的学号及其成绩,查询结果按分数降序排列。
sele sno,grade from mysc where cno="3503"order by grade desc
(2) 查询学号第四位为“4”的学生的学号与姓名。
sele sno,sname from mystudent where sno like "___4%"
(2) 查询生物系的全体女同学的名单。
sele sname from mystudent where sdept="生物系" and ssex="女"
(2) 查询历史系、生物系和物理系的学生姓名和性别。
sele sname,ssex from mystudent where Sdept="历史系" or Sdept="生物系" or Sdept="物理系"
(2) 查询考试成绩有不及格的学生的学号,若一个学生有多门课不及格,只列一次。
sele dist sno from mysc where grade<60
(2) 查询缺少成绩的学生的学号,若一个学生有多门课,只列一次。
sele dist sno from mysc where grade=0
(2) 查询全体学生情况,查询结果按所在系的系号排列,同一系中的学生按年龄将序排列。
sele * from mystudent order by sdept,sage desc
(2) 查询选修了课程的学生人数。
sele coun(dist sno) from mysc
(2) 查询考试成绩优秀(成绩大于等于85分)的学生的学号,若一个学生有多门课优秀,只列一次
sele dist sno from mysc where grade>=85
(2) 查询学号第八位为“6”或“8”的学生的学号与姓名。
sele sno,sname from mystudent where sno like "%8" or sno like "%6"
(3) 删除姓张的学生记录。
Delete from mystudent where sname= "张"
(3) 将学生“20040610”的年龄改为20岁。
update mystudent set sage=20 where sno="20040610"
(3) 将一个新课程记录(课程号:6703;课程名:政治经济学)插入到myCourse表中。
(3) 将一个新学生记录(学号:20040823;姓名:黎小田;性别:男)插入到mySTudent表
inse into mystudent(sno,sname,ssex)valu("20040823","黎小田","男")
(3) 将一个新的学生选课记录(学号:20040823;课程号:6703)插入到mySC表中。
inse into mysc(sno,cno)valu("20040823","6703")
(3) 从mySC中删除学号为“20030214”的学生记录。
Delete from mySC where sno="20030214"
(3) 将学生“20040610”的年龄增加2岁。
update mystudent set sage=sage+2 where sno="20040610"