| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> SQL Server数据库实操 第七波 综合训练 -> 正文阅读 |
|
[大数据]SQL Server数据库实操 第七波 综合训练 |
1、(1)创建数据库 create database MMK; (2)创建Student表 create table Student (Sno char(8) primary key, Sname varchar(5) not null, Ssex char(5) check (Ssex in ('男','女')), Sage smallint, Sdept varchar(10); (3)创建Course表 create table Course (Cno char(1) primary key, Cname varchar(10) not null, Score smallint); (4)创建SC表 create table SC (Sno char(8) not null, Cno char(1) not null, Grade smallint primary key(Sno,Cno)); (5)向Student表中插入数据 insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('20131001','李勇','男',20,'信息工程'); insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('20131002','刘晨','女',19,'计算机'); insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('20131003','王敏','女',18,'信息管理'); (6)向Course表中插入数据 insert into Course(Cno,Cname,Score) values('1','数据库',4); insert into Course(Cno,Cname,Score) values('2','数据结构',3); insert into Course(Cno,Cname,Score) values('3','DB_design',2); (7)向SC表中插入数据 insert into SC(Sno,Cno,Grade) values('20131001','1',90); insert into SC(Sno,Cno,Grade) values('20131002','1',85); insert into SC(Sno,Cno,Grade) values('20131002','3',75); insert into SC(Sno,Cno,Grade) values('20131003','1',80); insert into SC(Sno,Cno,Grade) values('20131001','2',82); insert into SC(Sno,Cno,Grade) values('20131001','3',54); 2、创建约束,使信息工程专业的学生不能为女生 alter table Student add constraint C1 check(Ssex ='男' or Sdept <>'信息工程'); ?3、创建各表之间的外码 alter table SC add constraint A1 foreign key(Sno) references Student(Sno); alter table SC add constraint A2 foreign key(Cno) references Course(Cno); 4、创建“课程名”属性的唯一值约束 alter table Course add constraint C2 unique(Cname); 5、(1)查询学生总人数,要求:查询结果显示列别名“总人数”; select count(sno) as '总人数' from Student ; ?(2)查询选修了全部课程的学生学号; select Sno from SC group by Sno having count(Cno) = (select count(Cno) from Course); (3)查询同选修了1号和3号课程的学生学号; select Sno from SC where Cno = '1' and Sno in (select Sno from SC where Cno = '3'); (4)删除选修“数据结构”课程的选课记录; delete from SC where Cno=(select Cno from Course where Cname ='数据结构'); Cno为2的删除了 (5)把“刘晨”选修“数据库”课程的成绩改为80分; update SC set Grade=80 where Sno=(select Sno from Student where Sname ='刘晨') and Cno=(select Cno from Course where Cname ='数据库'); (6)查询选修课程名以“ DB _”开头的课程的学生学号和成绩; select Sno,Grade from SC where Cno=(select Cno from Course where Cname like 'DB_%'); (7)按照课程号、成绩降序显示课程成绩在70~80分(包括70和80分)之间的学生的学号、课程号及成绩; select Sno,Cno,Grade from SC where Grade<81 and Grade>69 order by Cno,Grade DESC; (8)向课程表中增加“先修课号”列,其数据类型为字符型; alter table Course add 先修课号 char(10); (9)查询选课门数多于(包含)2门的学生的学号和选课门数; select Sno,count(Cno) as '选课门数' from SC group by Sno having count(Cno)>1; (10)査询学生的“姓名”和“评价”,要求:如果学生的平均成绩大于等于90分,“评价”为优秀,如果学生平均成绩大于等于80分,“评价”为良好,平均成绩为其他值的时候,“评价”为一般 select Student.Sname, case when avg(SC.Grade)>=90 then '优秀' when avg(SC.Grade)>=80 then '良好' else '一般' end as 评价 from Student,SC? where Student.Sno=SC.Sno group by Student.Sname ; 6.建立信息工程专业学生学习情况视图,并在视图中查询信息工程专业毎个学生的总成绩和平均成绩。 create view 信息工程专业学生学习情况视图(Sno,总成绩,平均成绩) as select Sno,sum(Grade),avg(Grade) from SC where Sno in (select Sno from Student where Sdept ='信息工程') group by Sno; 7.建立了触发器,插入学生的选课成绩后,显示所有学生的选课门数和平均成绩。 create trigger A on SC after insert? as begin? select Sno,count(Cno) as 选课门数 ,avg(Grade) as 平均成绩 from SC group by Sno end 8.建立 SQL Server 服务器的用户登录名为 test ,把对SC 表进行插入、查询成绩的权限付给 test create login test with password='test'; create user test for login test; grant insert,select on SC to test; 9.备份所创建的数据库为 backup . bak 。 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:06:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |