--完成以下的操作:
/*
(1)显示入学成绩在850分以上学生的籍贯。
(2)显示每个学生的年龄。
(3)显示所有团员的入学成绩。
(4)显示党员的电话。
(5)统计同学的平均年龄。
(6)统计各地区同学的入学平均分。
(7)显示张华同学的详细信息
(8)显示cheng_ji表中的人员名单
(9)显示数据库成绩在85分以上的学生的籍贯
(10)显示所有籍贯相同的学生名单和籍贯
(11)显示每个同学的总成绩和平均成绩.
(12)显示全体同学的数据结构平均分,及每个同学与平均分的差距.
*/
use school
go
sp_help
select * from
--cheng_ji
xue_sheng
--(1)显示入学成绩在850分以上学生的籍贯。
select 姓名, 籍贯 from xue_sheng where 入学成绩>850
--(2)显示每个学生的年龄。
select 姓名, datediff(year ,出生日期,getdate()) as 年龄 from xue_sheng
--(3)显示所有团员的入学成绩。
select 入学成绩 from xue_sheng where 政治面貌 = '团员'
--(4)显示党员的电话。
select 电话 from xue_sheng where 政治面貌='党员'
--(5)统计同学的平均年龄。
select avg( datediff (year ,getdate() ,xue_sheng.出生日期) ) from xue_sheng
--(6)统计各地区同学的入学平均分。
select avg (入学成绩) as 入学成绩 from xue_sheng group by 籍贯
--(7)显示张华同学的详细信息
select * from xue_sheng,cheng_ji where xue_sheng.姓名= '张华'
and xue_sheng.学号 = cheng_ji.学号
go
select xue_sheng.* ,cheng_ji.数据库,cheng_ji.数据结构,cheng_ji.网络技术,cheng_ji.总成绩
from xue_sheng left join cheng_ji on xue_sheng.学号 = cheng_ji.学号
where xue_sheng.姓名= '张华'
--(8)显示cheng_ji表中的人员名单
select xue_sheng.姓名 from xue_sheng right join cheng_ji on xue_sheng.学号=cheng_ji.学号
--(9)显示数据库成绩在85分以上的学生的籍贯
select xue_sheng.籍贯 from xue_sheng right join cheng_ji on xue_sheng.学号=cheng_ji.学号
where cheng_ji.数据库 >85
--(10)显示所有籍贯相同的学生名单和籍贯
select xue_sheng.姓名 , xue_sheng.籍贯 from xue_sheng order by xue_sheng.籍贯
--(11)显示每个同学的总成绩和平均成绩.
select xue_sheng.姓名 ,cheng_ji.总成绩,
( cheng_ji.数据库+ cheng_ji.数据结构+cheng_ji.网络技术 )/3 as 平均成绩
from xue_sheng , cheng_ji where xue_sheng.学号=cheng_ji.学号
--(12)显示全体同学的数据结构平均分,及每个同学与平均分的差距.
select (select avg(cheng_ji.数据结构) from cheng_ji ) as 全体同学的数据结构平均分,
cheng_ji.数据结构 - (select avg(cheng_ji.数据结构) from cheng_ji ) as
与平均分的差距
from cheng_ji ,xue_sheng where xue_sheng.学号=cheng_ji.学号
/*
USE pubs
GO
SELECT DATEDIFF(year, pubdate, getdate()) AS no_of_days
FROM titles
GO
*/
------------------------------------------------------------
--4、写一个SQL脚本,创建一个名为TESTTABLE的表,该表只有一个COLUMN1的列,
--数据类型为整型.创建一个无穷循环结构,插入数据值到表中,直到表中有100条记录.
--用变量记录已存储到表中的记录数,当变量的值到达100时,使用break语句退出循环。
use school
create table testTable
(
column1 char(8) not null
)
select * ,(select count(*) from testtable) as counts from testTable
go
delete from testTable
declare @a int set @a=100
declare @c char(8) set @c='lin'
declare @temp char set @temp =' '--select @a
while @a>0
begin
select @temp as temp_ ,@c as c
insert into testtable values (stuff(@c+@temp,4,2,@a))
set @a=@a-1
select @a
end
---------------------------------------------------------------------------------------
/*5、在school数据库里建一个班级情况基本表
(学号、姓名、性别、籍贯、毕业院校、数学、英语、程序设计、数据库)
包含至少五项记录
*/
use school
create table 班级情况基本表
(
学号 integer not null,
姓名 char(8) not null,
性别 char(2) not null,
籍贯 char(20) not null,
毕业院校 char(16)not null,
数学 integer,
英语 integer,
程序设计 integer,
数据库 integer
)
----------------------------------------------------------
create view xue_sheng_view
as select * from xue_sheng
go
select * from xue_sheng_view
-------------------------------------------------------
用模板改啦个
-- =============================================
-- Create database on multiple data and transaction log files
-- =============================================
IF EXISTS (SELECT *
FROM master..sysdatabases
WHERE name = 'school')
begin
print 'ok'
DROP DATABASE school
end
GO
exec sp_helpdb school
go
select * from master..sysdatabases
go
CREATE DATABASE school
ON PRIMARY
( NAME = 'school_db_data1',
FILENAME = 'f:/clin003/school_db_data1.mdf',
SIZE = 1MB,
MAXSIZE = 20MB,
FILEGROWTH = 2),
( NAME = 'school_db_data2',
FILENAME = 'f:/clin003/school_db_data2.ndf',
SIZE = 1MB,
MAXSIZE = 20MB,
FILEGROWTH = 2)
LOG ON
( NAME = 'school_log1',
FILENAME = 'f:/clin003/school_log1.ldf',
SIZE = 512KB,
MAXSIZE = 20MB,
FILEGROWTH = 2),
( NAME = 'school_log_2',
FILENAME = 'f:/clin003/sql/school_log2.ldf',
SIZE = 512KB,
MAXSIZE = 2MB,
FILEGROWTH = 2)
GO