sno char(3),
sname varchar(8), score decimal(4,1), email varchar(30), phone varchar(18) )
20. 使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。
CREATE TABLE CLASS
(CLASSNO CHAR (8) NOT NULL, DEPARTNO CHAR (2) NOT NULL, CLASSNAME CHAR (20) NOT NULL ) 简答题
21. SQL Server2005数据类型中用varchar(max)取代TEXT有意义吗?
可以保证良好的向后兼容
22. SQL Server2005的表有哪几种?
按用途分类:系统表、用户表、分区表 按表的存储时间分类:永久表、临时表
23. 标识列和计算列有什么用?编写一个用到这两种列的CREATE TABLE语句。
答:设计数据表时都会给表ID添加一个标识列,使表按照递增规则增长,故标识列也称为自增列。标识列有三种特点:列的数据类型必须是不带小数的数值类型;在进行出入操作时,该列得值是由系统统一按规律生成,不允许有空值;列值不重复,每个表只能有一个标识列。
计算列区别于需要我们手动或者程序给予赋值的列,它的值来源于该表中其它列的计算值。比如,一个表中包含有数量列Number与单价列Price,我们就可以创建计算列金额Amount来表示数量*单价的结果值,创建Amount列后,在程序中需要使用计算金额这个值时,就不用取出Number列与Price列的值后相乘,而是直接取Amount列的值就可以了。
Create table score ( Sno nchar(9), Cno nchar(6),
Usually numeric(4,1), Final numeric(4,1),
CONSTRAINT PK_score primary key (Sno asc ,Cno asc), CONSTRAINT fk1 foreign key (Sno) references student(Sno), CONSTRAINT fk2 foreign key (Cno) references course(Cno), )
第四章习题
填空题
1. 语句 select ascii('D'), char(67) 的执行结果是68 C。
2. 语句 select lower('Beautiful') , rtrim('我心中的太阳 ') 的执行结果是:beautiful 我心中的太阳。
3. 语句 select day('2004-4-6'), len('我们快放假了.') 的执行结果是:__6_7 _。
4. 语句 select round(13.4321,2), round(13.4567,3)的执行结果是:_13.43 13.457。
5. T-SQL 语言中,有算术运算、字符串连接运算、比较运算和逻辑运算。 6. 语句 SELECT (7+3)*4-17/(4-(8-6))+99%4 的执行结果是35。
7. SQL Server聚合函数有最大、最小、求和、平均和计数等,它们分别是MAX 、MIN、 SUM、avg和count。
8. SQL Server以_____#____开头的标识符,表示临时表或过程;局部变量名字必须以____@_____开头,而全局变量名字必须以@@开头。
9. 语句 select char(65), len('我们快放假了.')的执行结果是A 7。 10. 语句 select lower('beautiful'), rtrim (' 我心中的太阳 ') 的执行结果是:beautiful 我心中的太阳____________。
阅读程序,说明它的功能:在数学成绩管理数据库中查询年龄为20,性别为女的姓名 ,性别和年龄
use 教学成绩管理数据库
select 姓名, 性别, 年龄=datediff(year,出生日期,getdate()) from 学生信息表
where (datediff(year,出生日期,getdate())=20) and (性别='女')
11. 如下代码段的输出是__579___ 。
DECLARE @x int, @y float select @x = 123 , @y = 456 SELECT @x+@y
12. 以下代码段的输出结果为 pass____ 。
DECLARE @point AS int Set @point =95 IF @point >=60 select 'pass' ELSE
select 'no pass'
13. 以下代码段的输出结果为 中等 Set @point =75 SELECT CASE
WHEN @point>=90 THEN '优秀' WHEN @point>=80 THEN '良好' WHEN @point>=70 THEN '中等' WHEN @point>=60 THEN '及格' ELSE '不及格' END AS '分数等级' 选择题
14. Select 语句中用来连接字符串的符号是_A_.
A. “+” B. “&” C.“||” D.“|”
15. SQL Server数据库对象的完整名称由4部分组成。以下哪种是正确的?(B) A. 服务器名.架构名.数据库名.对象名 B. 服务器名.数据库名.架构名.对象名
C. 数据库名.服务器名.架构名.对象名
16. 语句“use teaching”的作用是什么?(B)
A. 打开数据库teaching B. 使用数据库teaching C. 关闭数据库teaching
17. . 语句“select Datepart(mm,getdate())”的输出结果及其类型为(A) A. 当前月份、整型 B. 当前月份、字符型 C. 当前月份的英文名、字符型
18. . 语句“select Datediff(year,'1990-5-1','2012-5-1')”的输出结果为(A)
A. 22 B. -22
19. 语句“select floor(99.5),round(99.457,1)”的输出结果为(B) A. 100 99.4 B. 99 99.5 C. 100 99.5
20. 语句“select Substring('王晓宇',2,2)”的输出结果为(A) A. 晓宇 B. 晓 C. 王晓宇
21. 下面哪个不是SQL Server 的合法标识符( B )。
A. a12 B. 12a C. @a12 D. #qq 22. SQL语言中,不是逻辑运算符号的是(D)。
A. AND B. NOT C. OR D. XOR