SQL试题求解

三.编写SQL语句
1.创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话(数据类型自定,要适合实际应用)
2) 向学生表添加如下信息:
学号 姓名 年龄 性别 联系电话 学历
1 A 22 男 123456 小学
2 B 21 男 119 中学
3 C 23 男 110 高中
4 D 18 女 114 大学
2) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
3) 删除学生表的数据,姓名以B开头,性别为‘女’的记录删除
4) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来
5) 查询出所有学生的姓名,性别,年龄降序排列
2.有一个[stu]数据库,数据库中包括:
学生表:Student 由学号、姓名、性别、年龄、所在系五个属性组成.
成绩表:SG 由学号、课程号、成绩三个属性组成。
用SQL语言实现下列功能:
1).建立学生表[Student]。
2).查考试成绩有不及格的学生的学号。
3). 查计算机系姓张的男同学的姓名、性别、年龄。
4).将一个新学生记录(学号:05020;姓名:高平;性别:女;年龄:19岁;所在系:经济管理系;)插入Student表中。
四.代码功能分析,写出以下SQL代码的功能
1. use stu
go
delete from student
where 学号=”2004009”
go
此段代码功能为:
2. use stu
go
create view student_view (姓名,家庭住址)
as
select姓名,家庭住址
from student
go 此段代码功能为:
3. use stu
go
select top 9 * from student
go 此段代码功能为:
4. use stu
go
create procedure student_pro
as
select 学号,姓名,家庭住址
from student
go 此段代码功能为:
5. create procedure getdetailbyname
@name nvarchar(10)
as
select * from student
where sname = @name。此段代码的功能为:
6. Select avg(grade)
from sg
where课程号='06' 此段代码的功能为:

1
IF OBJECT_ID('学生表')IS NOT NULL
DROP TABLE 学生表
GO
create table 学生表 --建立学生表.
(
学号 int not null , --学号,姓名,年龄,性别,家庭住址,联系电话
姓名 varchar(10) not null, --姓名
性别 varchar(2)
年龄 int,
联系电话 varchar(10),
家庭住址 varchar(50),
联系电话 varchar(20),
check (性别 ='男' OR 性别='女'),
)

1.1
delete 学生表
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(1,"A",22,"男","123456","小学")
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(2,"B",21,"男","119","中学")
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(3,"C",23,"男","110","高中")
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(4,"D",18,"女","114","大学")

1.2
update 学生表
set 学历='大专'
where 联系电话 like '11%'
go

1.3
delet 学生表
where 性别='女',姓名 like 'B%'
go

1.4
select 姓名,学号
from 学生表
where 学历='大专',年龄<22
go

1.5
select 姓名,性别
from 学生表
order by 年龄 desc
go

2.1
use stu
IF OBJECT_ID('Student')IS NOT NULL
DROP TABLE Student
GO
create table Student --建立学生表.
(
学号 int not null ,
姓名 varchar(10) not null, --姓名
性别 varchar(2)
年龄 int,
所在系 varchar(10),
check (性别 ='男' OR 性别='女'),
)

2.2
use stu
select 学生表.学号
from Student As 学生表,SG As 成绩表
where 学生表.学号=成绩表.学号,成绩表.成绩<60
go

2.3
use stu
select 姓名,性别,年龄
from Student
where 所在系='计算机系',性别='男',姓名 like '张%'
go

2.4
use stu
insert Student (学号,姓名,年龄,性别,所在系)
values(05020,"高平",19,"女","积极管理系")
go

4.1
删除student表中学号为2004009的学生的信息

4.2
在stu数据库的student表中创建列名为姓名,家庭住址的视图student_view

4.3
查询stu数据库的student表中前9条信息

4.4
在stu数据库的student表中创建查询学号,姓名,家庭住址的存储过程student_pro

4.5
在stu数据库的student表中创建带输入参数的存储过程

4.6
查询Sg表中课程号为06的平均成绩
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-26
1
IF
OBJECT_ID('学生表')IS
NOT
NULL
DROP
TABLE
学生表
GO
create
table
学生表
--建立学生表.
(
学号
int
not
null
,
--学号,姓名,年龄,性别,家庭住址,联系电话
姓名
varchar(10)
not
null,
--姓名
性别
varchar(2)
年龄
int,
联系电话
varchar(10),
家庭住址
varchar(50),
联系电话
varchar(20),
check
(性别
='男'
OR
性别='女'),
)
1.1
delete
学生表
insert
学生表
(学号,姓名,年龄,性别,联系电话,学历)
values(1,"A",22,"男","123456","小学")
insert
学生表
(学号,姓名,年龄,性别,联系电话,学历)
values(2,"B",21,"男","119","中学")
insert
学生表
(学号,姓名,年龄,性别,联系电话,学历)
values(3,"C",23,"男","110","高中")
insert
学生表
(学号,姓名,年龄,性别,联系电话,学历)
values(4,"D",18,"女","114","大学")
1.2
update
学生表
set
学历='大专'
where
联系电话
like
'11%'
go
1.3
delet
学生表
where
性别='女',姓名
like
'B%'
go
1.4
select
姓名,学号
from
学生表
where
学历='大专',年龄<22
go
1.5
select
姓名,性别
from
学生表
order
by
年龄
desc
go
2.1
use
stu
IF
OBJECT_ID('Student')IS
NOT
NULL
DROP
TABLE
Student
GO
create
table
Student
--建立学生表.
(
学号
int
not
null
,
姓名
varchar(10)
not
null,
--姓名
性别
varchar(2)
年龄
int,
所在系
varchar(10),
check
(性别
='男'
OR
性别='女'),
)
2.2
use
stu
select
学生表.学号
from
Student
As
学生表,SG
As
成绩表
where
学生表.学号=成绩表.学号,成绩表.成绩<60
go
2.3
use
stu
select
姓名,性别,年龄
from
Student
where
所在系='计算机系',性别='男',姓名
like
'张%'
go
2.4
use
stu
insert
Student
(学号,姓名,年龄,性别,所在系)
values(05020,"高平",19,"女","积极管理系")
go
4.1
删除student表中学号为2004009的学生的信息
4.2
在stu数据库的student表中创建列名为姓名,家庭住址的
视图
student_view
4.3
查询stu数据库的student表中前9条信息
4.4
在stu数据库的student表中创建查询学号,姓名,家庭住址的
存储过程
student_pro
4.5
在stu数据库的student表中创建带输入参数的存储过程
4.6
查询Sg表中课程号为06的平均成绩
第2个回答  2008-12-14
太简单了,不愿意回答。
第3个回答  2008-12-14
现在没有时间,有时间来看看
相似回答