sql作业

发布 2022-09-02 19:33:28 阅读 4164

sql server 2005上机操作题。

一:创建数据库。

create database xxxx

二:创建表。

1.建立xs表。

create table xs

学号 char(7) not null,姓名 char(8) not null,性别 bit not null,出生日期 smalldatetime not null,班级 char(5),总学分 tinyint,备注 text,primary key(学号));

2.建立kc表。

create table kc

课程号 char(3) not null,课程名 char(20) not null,开课学期 tinyint not null,学时 tinyint not null,学分 tinyint not null,primary key(课程号));

3.建立xs_kc表。

create table xs_kc

学号 char(7) not null,课程号 char(3) not null,成绩 tinyint,学分 tinyint,primary key(学号,课程号),foreign key(学号) references xs(学号),foreign key(课程号) references kc(课程号));

三:修改表结构。

1. 修改学生情况表(xs)的“出生日期”字段,使其数据类型改为datetime,且允许为空。

alter table xs alter column 出生日期 datetime;

2. 删除学生与课程表(xs_kc)中的“学分”字段。

alter table xs_kc drop column 学分;

3. 修改学生情况表(xs),删除“班级”字段,增加一“专业”字段(varchar(20), 默认值为“计算机”)

alter table xs drop column 班级。

alter table xs add 专业 varchar(20);

四:插入或修改数据。

insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)

values('4102101','王林','1','1983-1-23','计算机','40','

insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)

values('4102102','吴荣华','0','1984-3-28','计算机','44','

insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)

values('4202103','张强','1','1981-11-19','电子','

insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)

values('4202110','王向荣','1','1980-12-9','电子','50','

insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)

values('4202221','李丽','0','1982-7-30','电子','

insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)

values('4402130','刘明','1','1982-10-18','自控','38','

insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)

values('4402130','叶凡','1','1983-11-18','数学','46','转专业学习');

insert into kc(课程号,课程名,开课学期,学时,学分)

values('101','计算机基础','1','48','3');

insert into kc(课程号,课程名,开课学期,学时,学分)

values('102','c语言','2','80','5');

insert into kc(课程号,课程名,开课学期,学时,学分)

values('103','数据库','4','64','4');

insert into kc(课程号,课程名,开课学期,学时,学分)

values('201','离散数学','6','64','4');

insert into kc(课程号,课程名,开课学期,学时,学分)

values('202','计算机网络','7','64','4');

insert into kc(课程号,课程名,开课学期,学时,学分)

values('301','软件工程','6','64','4');

insert into xs_kc(学号,课程号,成绩)

values('4102101','101','80');

insert into xs_kc(学号,课程号,成绩)

values('4102101','102','89');

insert into xs_kc(学号,课程号,成绩)

values('4102101','103','78');

insert into xs_kc(学号,课程号,成绩)

values('4102102','101','57');

insert into xs_kc(学号,课程号,成绩)

values('4102102','102','67');

insert into xs_kc(学号,课程号,成绩)

values('4202103','103','90');

insert into xs_kc(学号,课程号,成绩)

values('4202110','101','85');

insert into xs_kc(学号,课程号,成绩)

values('4202110','102','91');

insert into xs_kc(学号,课程号,成绩)

values('4202221','101','69');

insert into xs_kc(学号,课程号,成绩)

values('4402130','101','78');

insert into xs_kc(学号,课程号,成绩)

values('4402130','103','74');

五:一)简单查询。

select *

from xs;

select 姓名,专业,总学分。

from xs;

select 学号 as num,姓名 as name,总学分 as mark

from xs;

4. select distinct 专业。

from xs;

select top 5 姓名,专业,总学分。

from xs;

select 学号,姓名,年龄=year(getdate())year(出生日期)

from xs;

select *

from xs

where 专业='计算机';

select 姓名专业。

from xs

where 出生日期 like '1979%';

select *

from xs

where 专业='计算机' or 专业='电子' or 专业='数学';

select *

from xs

where 姓名 like '张%' or 姓名 like'王%' or 姓名 like'李%';

select *

from xs

where 总学分 like '0';

select *

from xs

where 总学分 like '0' and 专业='计算机';

select *

from xs

order by 总学分 desc,学号;

select top 3 姓名,专业,年龄=year(getdate())year(出生日期)

from xs

order by 年龄;

二)数据汇总。

select **g(成绩)

from xs_kc

where 课程号='101';

select max(成绩) as '最高分',min(成绩) as '最低分'

from xs_kc

where 课程号='102';

select sum(成绩)

from xs_kc

where 学号='4102101';

select count(姓名)

from xs

where 专业='计算机';

select count(学号) as '人数'

from xs_kc

where 课程号=101;

select count(xs_kc.课程号)

from kc,xs_kc

where kc.课程号= xs_kc.课程号。

group by 课程名;

select count(专业)

from xs

group by 专业;

select 专业,性别,count(*)as '人数'

from xs

group by 专业,性别。

with rollup;

select xs_kc.学号,姓名,**g(成绩) as '平均成绩'

from xs_kc,xs

where xs.学号=xs_kc.学号。

group by xs_kc.学号,姓名。

select 学号,count(*)as '成绩高于80分的门数'

from xs_kc

where 成绩 >=80

group by 学号。

h**ing count(*)2;

三)连接查询。

select xs.学号,姓名,专业,kc.课程号,成绩。

from xs,kc,xs_kc

where xs.学号=xs_kc.学号 and kc.课程号=xs_kc.课程号;

select 姓名,成绩。

from xs,xs_kc

where xs.学号=xs_kc.学号 and 课程号='101';

select xs.学号,姓名,成绩。

from xs,kc,xs_kc

where xs.学号=xs_kc.学号 and kc.课程号=xs_kc.课程号。

and 专业='计算机' and 课程名='计算机基础';

select xs.*,成绩。

from xs left join xs_kc on (xs.学号=xs_kc.学号 and 课程号='101');

SQL作业

客户号客户名称联系人地址邮政编码 客户。产品号。客户号。订单号。订购日期。订购单。产品名称规格说明单价。产品。订单号序号产品号数量。产品。图1订单管理数据库。查询客户表中的所有记录 从订购单表中查询客户号信息 哪些客户有订购单 查询单价在x元以上 含 的产品信息。查询单价在x元以上 不含 的某产品 ...

SQL作业

sql server数据库。实验报告。罗洁思编写。班级 汽车服务工程 2 班 姓名 康俊伟 学号 0908082217 厦门理工学院机械工程系。实验一活期储蓄管理系统数据库设计。一 实验目的。1 掌握概念模型 关系模型和关系数据库的概念 2 掌握概念模型的设计方法 3 掌握关系模型的设计。二 实验内...

SQL作业

一 学生 课程 选修数据库。单表。1 检索学习课程号为0911的学生的学号和成绩。2 统计选修了课程号为0911的学生的人数。3 检索每个学生的出生年份,输出学生姓名和出生年份。4 检索选修课程号为0912或者0911的学生的学号。5 检索18 20岁的姓王的同学的学生姓名。6 检索学习课程中包含了...