(Sql)考试前做的练习题... (二)

--完成以下的操作:

/*

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

 

下载地址:http://blogfile0.tom.com/file/0/9/6/f_85909_12922.rar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值