数据库练习_T-SQL程序_S_VARIABLE_CONTROL

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库练习_T-SQL编程

一、变量

(1)创建局部变量@var1、@var2并赋值,然后输出变量的值。

【强化练习】

(1)创建局部变量@var1、@var2并赋值,然后输出变量的值。

DECLARE @var1 char(10) ,@var2 char(30)

SET @var1='中国' /*一个SET语句只能给一个变量赋值*/

SET @var2=@var1+'是一个伟大的国家'

SELECT @var1, @var2

GO

执行结果如下所示:

(2)创建一个名为sex的局部变量,并在SELECT语句中使用该局部变量查找PXSCJ数据库的表XSB中所有女同学的学号、姓名。

USE PXSCJ

GO

DECLARE @sex bit

SET @sex=0

SELECT XH, XM

FROM XSB

WHERE XB=@sex

(3)将学号为081101的学生的姓名赋给局部变量@student。

DECLARE @student char(8)

SET @student=(SELECT XM FROM XSB WHERE XH= '081101') SELECT @student AS 姓名

(4)使用SELECT给局部变量@var1赋值。

DECLARE @var1 nvarchar(30)

SELECT @var1='刘丰'

SELECT @var1 AS 'NAME'

(5)给局部变量@var1赋空值。

DECLARE @var1 varchar(8)

SELECT @var1 =XM FROM XSB WHERE XH= '089999'

SELECT @var1 AS 'NAME'

(6)显示试图登录SQL Server的次数。

SELECT GETDATE() AS '当前的日期和时间',@@CONNECTIONS AS '试图登陆的次数'

(7)显示当前SQL Server的版本号

执行sql语句:

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productl evel'), SERVERPROPERTY ('edition')

(8)编程实现将pxscj数据库中xsb表的记录个数存入到局部变量,并通过局部变量显示出来。

USE PXSCJ

GO

DECLARE @RowsReturn int

SET @RowsReturn =(SELECT COUNT(*)FROM XSB)

SELECT @RowsReturn AS'SELECT返回的记录数'

(9)编程实现将pxscj数据库中cjb表中的分数的最大值和最小值分别存入到两个局部变量,并通过局部变量显示出来。

二、运算符

使用字符串联接运算符将PXSCJ数据库中081101学生的学号与姓名连接。USE PXSCJ

GO

SELECT (XH+ ',' + XM) AS 学号及姓名

FROM XSB

WHERE XH= '081101'

三、流控语言

(1)在PXSCJ数据库中,如果“计算机基础”课程的平均成绩高于75分,则显示“平均成绩高于75分”。

USE PXSCJ

GO

IF

(

SELECT A VG(CJ)

FROM XSB, CJB, KCB

WHERE XSB.XH= CJB.XH

AND CJB.KCH=KCB.KCH

AND KCB.KCM='计算机基础'

) <75

SELECT '平均成绩低于75'

ELSE

SELECT '平均成绩高于75'

(2)输出PXSCJ数据库中总学分大于48的学生信息,性别信息根据XB列的值输出“男”或“女”。

USE PXSCJ

GO

SELECT XH, XM, ZY, SEX=

CASE XB

WHEN 1 THEN '男'

WHEN 0 THEN '女'

ELSE '无'

END

FROM XSB

WHERE ZXF>48

(3)将学号为081101的学生的总学分使用循环修改到60,每次只加2,并判断循环了多少次。

DECLARE @num int

SET @num=0

WHILE (SELECT 总学分FROM XSB WHERE 学号='081101')<60

BEGIN

UPDATE XSB SET 总学分=总学分+2 WHERE 学号= '081101'

SET @num=@num+1

ENDUSE PXSCJ

GO

SELECT @num AS 循环次数

(4)编程实现10的阶乘.

declare @i int

declare @j int

set @i=1

set @j=1

while (@i <=10)

begin

set @j=@i*@j

set @i=@i+1

end

print @j;

(5)根据CJB表中的考试成绩,查询0811班学生课程号为206的课程的平均成绩,若平均成绩大于75,显示“成绩较理想”,否则显示“成绩不理想”。利用if语句编写程序实现以上功能。

(6)根据CJB表中0811班的考试成绩,并根据考试分数输出考试等级。当分数大于等于90分,输出“优”;当分数在80-90之间,输出“良”;当分数在70至80之间,输出“中”;当分数在60至70之间,输出“及格”;当分数在60分以下,输出“不及格”。利用case语句编写程序实现以上功能。

相关文档
最新文档