悬赏分的哦!呵呵……)4.select sname
from student,sc
where student.sno=sc.sno and cno='1'
5.select sname
from student
where sdept =(select sdept
from student
where sname='刘晨')
6.delete
from student
where sdept='cs'
7.Grant select,update(sname)
on student
to ut
8.update student
set sage=20
where sage<20
9.select sname ,sc.cno,cname
from student,sc,co
where student.sno=sc.sno and sc.cno=co.cno and sname='刘晨'
10.select sname,sage
from student,sc,co
where student.sno=sc.sno and sc.cno=co.cno and cname='数据库'
注:数据库要自己那建立,我用的是SQL2000,建表:学生表 student 选修表sc 课程表co
特别在建时sc参照student时,外码要建立级连删除,级连修改,及on update cascade, on delete
cascade不然第8题运行时将拒绝执行。
前两个不知道你说的什么isnull函数是单行函数,对一列每个数据进行判断,数据为null,则用其他数据替换,不为null,则为原来的数据,例如:
isnull(列名, 其他数据)
not in是条件筛选的功能之一,形式为not in(),()内输出的为一列数据,例如:
select * from Student
where Sno not in
(
select Sno from SC
where Cno = '0001'
)
上面的就是查询出学生表中未选修班号为0001的班级的学生
--1create database 学生选课系统
on primary
(name = 学生选课系统_data,
filename='d:\aa\学生选课系统.mdf',
size=8,
maxsize=100,
filegrowth=20%)
log on
(name =学生选课系统_log,
filename = 'e:\ee\学生选课系统.ldf')
--2
create table 学生
(学号 char(10) primary key,
姓名 char(20),
性别 char(2) check (性别 in('男','女')),
年龄 int default 20,
所在系 char(20))
--3
select 学号,年龄
from 学生
where 所在系='物理系'
--4
select 学号,成绩
where 课程号='2'
order by 成绩 asc,学号 desc
--5
select 学生.学号 学号,姓名,选修的课程名,成绩
from 学生,课程,选课
where 学生.学号=选课.学号 and 课程.课程号=选课.课程号
--6
insert into 学生(学号,姓名,所在系)
values('96002','张三','英语系')
--7
update 学生 set 年龄=年龄+3
--8
delete from 学生
where 所在系='化学系'
--9
create view 英语系学生
as
select 学号,性别,年龄
from 学生
where 所在系='英语系'
--10
create unique index IX_课程号 on 课程(课程号)
--11
create trigger trig1 on 学生
for delete
as
declare @SID char(10)
select @SID=学号 from deleted
begin
delete from 选课 where 学号=@SID
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)