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://myzitong.com/article/dsejiih.html