怎么去定义变量?怎么去赋值?
1.什么是标识符?
答:标识符是用来标识事物的符号,其作用类似于给事物起的名称。
2. T-SQL中有几种标识符?它们的区别是什么?
标识符分为两类:常规标识符和分隔标识符。符合所有标识符格式规则的标识符为常规标识符,可以使用分隔符,也可以不使用分隔符。不符合标识符格式规则的标识符必须使用分隔符。
3.什么是局部变量?什么是全局变量?如何表示它们?
答:全局变量由系统提供且预先声明,通过在名称前加两个“@”符号区别于局部变量。用户只能使用全局变量,不能对它们进行修改。全局变量的作用范围是整个SQL Server系统,任何程序都可以随时调用它们。
T-SQL语言中的变量是可以保存单个特定类型的数据值的对象,也称为局部变量,只在定义它们的批处理或过程中可见。在名称前加一个“@”符号为局部变量。
4.以下变量名中,哪些是合法的变量名,哪些是不合法的变量名?
A1,1a,@x,@@y,&变量1,@姓名,姓名,#m,##n,@@@abc##,@my_name
答:合法的变量名:@x,@@y,@姓名,@my_name
不合法的变量名:A1,1a,&变量1,姓名,#m,##n,@@@abc##
5.SQL Server 2008所使用的运算符类别有哪些?
答:SQL Server 2008系统中,可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符及比较运算符等。
6.利用T-SQL语句计算下列表达式,并给出运算结果。
(1)9-3*5/2+6%4 (2)5&2|4 (3)'你们'+'好' (4)~10
答:(1)4 (2)4 (3)你们好 (4)-11
7.给出以下T-SQL语句的运行结果。
DECLARE @d SMALLDATETIME
SET @d='2007-1-26'
SELECT @d+10,@d-10
答:2007-02-05,2007-01-16
8.什么是批处理?使用批处理有何限制?批处理的结束符是什么?
答:批处理是包含一个或多个T-SQL语句的集合,从应用程序一次性地发送到SQL Server 2008进行执行,因此可以节省系统开销。SQL Server 将批处理的语句编译为一个可执行单元,称为执行计划,批处理的结束符为“GO”。
9.注释有几类,它们分别是什么?
答:在T-SQL中可使用两类注释符:
(1) ANSI标准的注释符“--”用于单行注释;
(2) 与C语言相同的程序注释符号,即“/*……*/”,“/*”用于程序注释开头,“*/”用语程序注释结尾,可以在程序中多行文字标示为注释。
10.针对“teaching”库,利用流程控制语句,查询学号为1302001的学生的各科成绩,如果没有这个学生的成绩,就显示“此学生无成绩”。
答:IF EXISTS ( SELECT * FROM sc WHERE sno='1302001')
SELECT cno,score FROM sc WHERE sno='1302001'
ELSE
PRINT '此学生无成绩'
11.针对“teaching”库,用函数实现:求某个学院选修了某门课的学生人数。
答:CREATE FUNCTION renshu(@p char(10),@cn char(4)) RETURNS float
AS
BEGIN
DECLARE @cout float
SELECT @cout=( SELECT count(*) FROM student,sc
WHERE student.sno=sc.sno and cno=@cn
and specialty=@p)
RETURN @cout
END
12.针对“teaching”库,用函数实现:查询某个学院所有学生所选的每门课的平均成绩。
答:CREATE FUNCTION average (@p char(10)) RETURNS table
AS RETURN
( SELECT cno, avg(score) aver FROM student,sc
WHERE student.sno=sc.sno and specialty=@p
GROUP BY cno
)
13.针对“inventory”库中的“goods”表,查询商品的价格等级,商品号、商品名和价格等级(单价1000元以内为“低价商品”,1000~3000元为“中等价位商品”,3000元以上为“高价商品”)。
答:SELECT gno, gname,
CASE
WHEN price<1000 then '低价商品'
WHEN price<3000 then '中等价位商品'
WHEN price>=3000 then '高价商品'
END AS 价格等级
FROM goods
14.简述游标的概念及类型。
答:游标是处理数据的一种方法,它允许应用程序对查询语句SELECT 返回的结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作。为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力,我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。
SQL Server 支持三种类型的游标:T-SQL 游标,API 服务器游标和客户游标。
由于API 游标和T-SQL 游标使用在服务器端,所以被称为服务器游标,也被称为后台游标,而客户端游标被称为前台游标。服务器游标包含以下四种:静态游标、动态游标、只进游标、键集驱动游标。
15.利用T-SQL扩展方式声明一个游标,查询student表中所有男生的信息,并读取数据。要求:(1)读取最后一条记录。(2)读取第一条记录。(3)读取第5条记录。(4)读取当前记录指针位置后第3条记录。
答:略。