数据库sql语句系列都是以下面的表为基础的
1. 写出步骤4中的各项操作的SQL语句。
① 给学生表增加一属性Nation(民族),数据类型为Varchar(20);
alter table Student add Nation varchar(20);
② 删除学生表中新增的属性Nation;
alter table Student DROP COLUMN Nation ;
③ 向成绩表中插入记录(”2001110”,”3”,80);
insert into Grade (Sno,Cno,Gmark)values ('2001110','3',80);
④ 修改学号为”2001110”的学生的成绩为70分;
update Grade set Gmark=70 where Sno='2001110';
⑤ 删除学号为”2001110”的学生的成绩记录;
delete from Grade where Sno='2001110';
⑥ 为学生表创建一个名为IX_Class的索引。
create index IX_Class on Student(Sno);
Select语句使用(一)
完成以下各项操作的SQL语句:
① 找出所有被学生选修了的课程号;
select distinct Cno from Grade;
② 找出01311班女学生的个人信息;
select * from Student where Clno='01311' and Ssex='女';
③ 找出01311班、01312班的学生姓名、性别、出生日期;
select Sname, Ssex,2009-Sage Birthday from Student where Clno='01311' or Clno='01312';
④ 找出所有姓李的学生的个人信息;
select * from Student where Sname like '李%';
⑤ 找出学生李勇所在班级的学生人数;
select Number from Class where Clno=(select Clno from Student where Sname='李勇');
⑥ 找出课程名为操作系统的平均成绩、最高分、最低分;
select avg(Gmark)/ max(Gmark)/ min(Gmark) from Grade where Cno=(select Cno from Course where Cname='操作系统' );
⑦ 找出选修了课程的学生人数;
select count(distinct Sno) from Grade ;
⑧ 找出选修了课程操作系统的学生人数。
select count(distinct Sno) from Grade where Cno=(select Cno from Course where Cname='操作系统' );
select 语句使用(二)
1、完成以下各项操作的SQL语句:
① 找出与李勇在同一个班级的学生信息;
select * from Student where Clno=
(select Clno from Student where Sname='李勇');
② 找出选修了课程操作系统的学生学号和姓名;
Select Sname, Sno from Student where Sno in
(select Sno from Grade where Cno =
(select Cno from Course where Cname='操作系统'));
③ 找出年龄介于学生李勇和25岁之间的学生信息;(已知李勇年龄小于25岁)
Select * from student where Sage<25 and Sage>
(select Sage from student where Sname='李勇');
④ 找出所有没有选修1号课程的学生姓名
Select Sname from student where NOT EXISTS
(select * from Grade where student.Sno=Sno and Cno='1');
⑤ 查询选修了3号课程的学生学号及其成绩,并按成绩的降序排列;
Select Sno,Gmark from Grade where Cno='3'order by Gmark desc;
⑥ 求每个课程号及相应的选课人数;
select Cno '课程号' ,count(*)as '选课人数'from grade group by cno;
⑦查询选修了3门以上课程的学生学号。
select Sno from Grade Group By Sno having count(*)>3;
未完待续……