您的位置:首页 > 数据库

SQL 练习总结

2010-10-31 09:54 435 查看
----5.修改课程表增加课程名称必须取唯一值的约束条件

--alter table 表名 add unique(表中要约束的列)
alter table course add unique(cname)

--9.修改学生表增加“高考成绩”列,数据类型为int

alter table student add  高考成绩 int

--10.修改course表,增加(cpno)为外码

alter table course add foreign key (cpno) references course(cno)

--17.将所有“数据库”课程的选修成绩置为0分。

update sc
set grade= 0

from sc
where (select course.cno from course where course.cname='数据库')=  

sc.cno

--18.从Sc表中删除所有选修“数据库”的记录。 

delete 
from sc
where (select course.cno from course where course.cname='数据库')=  

sc.cno

--4.在SC表中添加“成绩”不大于100的完整性约束C1。

alter table sc  add constraint grade check(grade<100)

--11.查询选修了3门以上课程的学生学号。(书上的都不会!丢人)

select sno
from sc
group by sno
having count(*)>3

--13.查询选修了2号课程且成绩高于此课程平均成绩的学号和成绩。

select sno,grade
from sc 
where cno='2' and (select avg(grade) from sc where cno='2')<grade

--14.查询选修了全部课程的学生学号、姓名

select sno,sname 
from student 
where sno=( 
	select sno
	from sc,course
	where  sc.cno=course.cno
	group by sc.sno 
	having count(sc.cno)=(select count(cno) from course)
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: