189 8069 5689

sqlserver综合题,sql语句试题及答案

Sqlserver这个第二题是什么意思?怎么写?求各位帮帮忙

注意点:考察两表连接、分组、max函数

创新互联建站是一家专业提供沁水企业网站建设,专注与成都网站设计、做网站、成都外贸网站建设公司H5场景定制、小程序制作等业务。10年已为沁水众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

细节:分组按照学生编号,因为名字可能会重复。表中有的状态条件应该在条件中加上,

个人认为Bu_Stature=1为有效学生,del为0为有效成绩,科目没有标明类型,用中文直接赛选条件。

SELECT u.`Bu_Name` AS 姓名,MAX(f.`FS`) AS 最高语文分数 FROM HR_BI_UserInfo u

LEFT JOIN HR_BI_UserInfo_FS f

ON u.`User_Id`=f.`User_Id`

WHERE f.`KM`='语文' AND u.`Bu_Stature`=1 AND f.`del`=0

GROUP BY u.`Bu_Code`

关于SQLSERVER的存储过程的几个题目..求解~!~~

1、

CREATE FUNCTION return_num

(@Class_Num varchar(20) )

RETURNS int

AS

BEGIN

RETURN ( select cout(*) from classmates where classnum=@Class_Num )

END

3、

BEGIN TRANSACTION

DECLARE @ReturnCode INT

SELECT @ReturnCode = 0

IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database 数据库名字' AND category_class=1)

BEGIN

EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database 数据库名字'

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

END

DECLARE @jobId BINARY(16)

EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'备份数据库名字',

@enabled=1,

@notify_level_eventlog=0,

@notify_level_email=0,

@notify_level_netsend=0,

@notify_level_page=0,

@delete_level=0,

@description=N'每天上午数据库备份',

@category_name=N'Database 数据库名字',

@owner_login_name=N'sa', @job_id = @jobId OUTPUT

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Daily Backup',

@step_id=1,

@cmdexec_success_code=0,

@on_success_action=1,

@on_success_step_id=0,

@on_fail_action=2,

@on_fail_step_id=0,

@retry_attempts=0,

@retry_interval=0,

@os_run_priority=0, @subsystem=N'TSQL',

@command=N'declare @strDate nvarchar(max);

set @strDate = N''D:\DataBaseAutoBackup\数据库名字_'' + Convert(nvarchar(8),getdate(),112) + N''.bak''

BACKUP DATABASE [数据库名字] TO DISK = @strDate WITH NOFORMAT, NOINIT, NAME = N''数据库名字_Dev-完整 数据库 备份'', SKIP, NOREWIND, NOUNLOAD, STATS = 10

GO',

@database_name=N'master',

@flags=0

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Daily Backup',

@enabled=1,

@freq_type=4,

@freq_interval=1,

@freq_subday_type=1,

@freq_subday_interval=0,

@freq_relative_interval=0,

@freq_recurrence_factor=0,

@active_start_date=20120510,

@active_end_date=99991231,

@active_start_time=50000,

@active_end_time=235959,

@schedule_uid=N'f90cfdc3-cb5d-4e19-9e93-99b8921d36c0'

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

COMMIT TRANSACTION

GOTO EndSave

QuitWithRollback:

IF (@@TRANCOUNT 0) ROLLBACK TRANSACTION

EndSave:

GO

SQL Server期末考试试题

3、查询出课程号为‘002’,分数最高的学生学号

三、查询设计

1、SELECT 学号,姓名 FROM 学生

WHERE 班级 = '软件041'

2、SELECT * FROM 课程

WHERE 课程名称 LIKE '%语言%'

3、SELECT D.学号,D.姓名,D.班级

FROM (

SELECT TOP 5 学号 

FROM 选课 A

LEFT JOIN 课程 B

ON A.课程号 = B.课程号

WHERE B.课程名称 = 'C语言'

ORDER BY A.成绩 DESC

) C

LEFT JOIN 学生 D

ON C.学号 = D.学号

4、SELECT 班级,COUNT(班级)

FROM 学生

GROUP BY 班级

5、DECLARE @zhangsanchengji FLOAT

SELECT @zhangsanchengji = A.成绩

FROM 选课 A

LEFT JOIN 课程 B

ON A.课程号 = B.课程号

LEFT JOIN 学生 C

ON  A.学号 = C.学号

WHERE B.课程名称 = '计算机应用基础'

AND A.姓名 = '张三'

SELECT D.学号,D.姓名

FROM (

SELECT A.学号,A.成绩

FROM 选课 A

LEFT JOIN 课程 B

ON A.课程号 = B.课程号

WHERE B.课程名称 = '计算机应用基础'

) C

LEFT JOIN 学生 D

ON C.学号 = D.学号

WHERE 成绩  @zhangsanchengji

五、操作题,这里自己查相关的操作吧,不好描述,sqlserver软件操作起来还是挺方便的。

3、A

break:是跳出本次循环,也就是当@n = 1,循环终止并跳出begin-end执行外部的代码,此时@n = 1。

continue:重新开始循环,但是continue后的代码不执行的,这里直到@n = 0时。

return:过程中无条件退出,后续的所有代码都不执行,所以不会有输出。

SQLServer综合考试试题 多项选择题 拜托了 要速度啊

1、ABC

2、ABD

3、ABD

4、ABC

5、BC

不一定全对,不过差不多就这样。

sqlserver加分编程题

----table 为你的表名,通过循环语句实现更新,@coun为更新次数

declare @cou int,@count int

set @cou=0

set @count=0

select top 0 * into #t1 from table

select @cou =COUNT (*) from table where [分数]90

while @cou0

begin

set @count=@count+@cou

insert into #t1

select * from table where [分数]90

update a

set a.[分数]= case when [分数] 60 then [分数]+5

when [分数] 70 then [分数]+4

when [分数] 80 then [分数]+3

when [分数] 90 then [分数]+2

else [分数]

end

from table a

inner join #t1 b on a.[姓名]=b.[姓名] and a.[课程]=b.[课程]

delete from #t1

select @cou =COUNT (*) from table where [分数]90

end

print @count

sqlserver填空题求助

top 3,desc

declare

--,;

exec sp_rename

identity(1,1),not null

select , set

update,6

ORC

数据库文件的初始大小

DECLARE CURSOR

原子性,隔离性

显示事务,自动提交事务

go

实体型,联系

实体完整性,参照完整性


当前标题:sqlserver综合题,sql语句试题及答案
文章位置:http://jkwzsj.com/article/dsejiih.html

其他资讯