sql sever 2012有没有人会,求代码

img


--创建表
create table Student(
s# int  primary key,
sname nvarchar(32) not null ,
sage int null,
ssex nvarchar(8) null
)

create table course (
c# int PRIMARY KEY,
cname nvarchar(32)  not null,
t# int 
)

create table sc(
s# int,
c# int,
score int
)

create table teacher(
t# int primary key,
tname nvarchar(7) not null
)

alter table course ADD CONSTRAINT t# FOREIGN KEY(t#) REFERENCES teacher (t#);
alter table sc ADD CONSTRAINT s# FOREIGN KEY(s#) REFERENCES Student (s#);
alter table sc ADD CONSTRAINT c# FOREIGN KEY(c#) REFERENCES course (c#);

--添加记录
INSERT INTO [dbo].[Student]
           ([s#]
           ,[sname]
           ,[sage]
           ,[ssex])
     VALUES
           (1,'刘一',18,'男'),
           (2,'钱二',19,'女'),
           (3,'张三',17,'男'),
           (4,'李四',18,'女'),
           (5,'王五',17,'男'),
           (6,'赵六',19,'女')

INSERT INTO [dbo].[teacher]
           ([t#]
           ,[tname])
     VALUES
           (1,'叶平'),
           (2,'贺高'),
           (3,'杨艳'),
           (4,'周磊')

INSERT INTO [dbo].[course]
           ([c#]
           ,[cname]
           ,[t#])
     VALUES
           (1,'语文',1),
           (2,'数学',2),
           (3,'英语',3),
           (4,'物理',4)

INSERT INTO [dbo].[sc]
           ([s#]
           ,[c#]
           ,[score])
     VALUES
           (1,1,56),
           (1,2,78),
           (1,3,67),
           (1,4,58),
           (2,1,79),
           (2,2,81),
           (2,3,92),
           (2,4,68),
           (3,1,91),
           (3,2,47),
           (3,3,88),
           (3,4,56),
           (4,2,88),
           (4,3,90),
           (4,4,93),
           (5,1,46),
           (5,3,78),
           (5,4,53),
           (6,1,35),
           (6,2,68),
           (6,4,71)

--查询所有学生的选课情况
select a.s#,a.sname,c.cname from [Student] a
inner join [sc] b on a.s#=b.s#
inner join [course] c on b.c#=c.c#

--查询各个课程及相应的选修人数

select c.cname,count(a.sname) as 选修人数 from [Student] a
inner join [sc] b on a.s#=b.s#
inner join [course] c on b.c#=c.c#
group by c.cname

--查询004课程分数小于60,按分数降序排列的同学学号

select a.s#,a.sname,c.cname,b.score from [Student] a
inner join [sc] b on a.s#=b.s#
inner join [course] c on b.c#=c.c#
where b.score<60 and c.c#=4
order by b.score desc