IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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 。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2022-06-14 22:40:05  更:2022-06-14 22:44:58 
 
开发: 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年5日历 -2024/5/20 0:02:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码