第 9章 T-SQL基础
更新时间:2023-10-02 06:23:01 阅读量: 综合文库 文档下载
- 第五人格推荐度:
- 相关推荐
第第91章章 T-SQL基础 网站与网页概述
1
第
9章
T-SQL基础
CHAPTER 09
练习题9参考答案
1.从功能上划分,SQL分为哪4类? 答SQL语句通常分成以下4类: ? ? ? ?
数据查询语言 数据操作语言 数据定义语言 数据控制语言
2.NULL代表什么含义?将其与其他值进行比较会产生什么结果?如果数值型列中存在NULL,会产生什么结果?
答在数据库中,NULL是一个特殊值,表示数值未知。NULL不同于空字符或数字0,也不同于零长度字符串。比较两个空值或将空值与任何其他数值相比均返回未知,这是因为每个空值均为未知。空值通常表示未知、不可用或以后添加数据。如果某个列上的空值属性为NULL,表示接受空值;空值属性为NOT NULL,表示拒绝空值。如果数值型列中存在NULL,则在进行数据统计时就会产生不正确的结果。
3.使用T-SQL语句向表中插入数据应注意什么?
答在使用T-SQL语句向表中插入数据时要注意以下几点:
? 当向表中所有列都插入新数据时,可以省略列表名,但是必须保证VALUES后的
各数据项位置同表定义时的顺序一致。
? 要保证表定义时的非空列必须有值,即使这个非空列没有出现在插入语句中,也必
须如此。
? 插入字符型和日期型值时,要加入单引号。
? 没有列出的数据类型应该具有以下属性之一:identity属性、timestamp数据类型、
具有NULL属性或者有一个默认值。对于具有identity属性的列,其值由系统给出,用户不必往表中插入数据。 4.LIKE匹配字符有哪几种?如果要检索的字符中包含匹配字符,该如何处理? 答在SQL Server 2005中,共提供了4个通配符。 %:代表任意多个字符。
第第91章章 T-SQL基础 网站与网页概述
2
_(下划线):代表一个任意字符。 []:代表方括号内的任意一个字符。
[^]:表示任意一个在方括号内没有的字符。
如果要检索的字符中包含匹配字符,可使用上述通配符。例如,以下语句查询student表中所有姓王的学生记录:
USE school
SELECT * FROM student WHERE sname LIKE '王%'
其执行结果如下:
sno sname ssex sbirthday sclass ----- -------- ---- ----------------------- ---------- 107 王丽女 1976-01-23 00:00:00.000 95033 109 王芳女 1975-02-10 00:00:00.000 95031
5.在SELECT语句中DISTINCT、ORDER BY、GROUP BY和HAVING子句的功能各是什么?
答各子句的功能如下。
DISTINCT:查询唯一结果。
ORDER BY:使查询结果有序显示。 GROUP BY:对查询结果进行分组。 HAVING:筛选分组结果。 6.在一个SELECT语句中,当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,SQL的执行顺序如何?
答其执行顺序如下: (1)执行WHERE子句,从表中选取行。 (2)由GROUP BY对选取的行进行分组。 (3)执行聚合函数。
(4)执行HAVING子句选取满足条件的分组。
7.什么是局部变量?什么是全局变量?如何标识它们?
答局部变量是在一个批处理中被声明、定义、赋值和引用的变量,批处理结束后,该变量也就消失了。全局变量是用来记录SQL Server服务器活动状态的变量,它预先被定义,用户只可以使用,不可以重新定义和赋值。
局部变量是用户定义的变量,用DECLARE语句声明,在声明时它被初始化为NULL,用户可用SET语句为其赋值,局部变量的使用范围是定义它的批处理、存储过程和触发器。它必须以@开始,遵循SQL Server的标识符和对象的命名规范,而且名称不能使用保留字。
全局变量是SQL Server系统所提供并赋值的变量。用户不能建立全局变量,也不能使用SET语句去修改全局变量的值。全局变量的名称以@@开头。大多数全局变量的值是报告本次SQL Server启动后发生的系统活动。
8.什么是批处理?使用批处理有何限制?
答批处理是指一个SQL语句集,这些语句一起提交并作为一个组来执行。批处理结束的符号是GO。由于批处理中的多个语句是一起提交给SQL Server的,所以可以节省系统开销。
使用批处理时有很多限制。
(1)并不是所有的SQL语句都可以和其他语句在一起组合成批处理。下述语句就不能组合在同一个批处理中:
第第91章章 T-SQL基础 网站与网页概述
3
CREATE PROCEDURE CREATE RULE CREATE DEFAULT CREATE TRIGGER CREATE VIEW
(2)不能在同一个批处理中既绑定又使用规则和缺省。 (3)不能在同一个批处理中既定义又使用CHECK约束。 (4)在同一个批处理中不能既删除对象又重建它。 (5)用SET语句改变的选项在批处理结束时生效。
(6)在同一个批处理中不能改变一个表再立即引用其新列。
9.在默认情况下,SQL脚本文件的后缀是什么?SQL脚本执行的结果有哪几种形式? 答SQL脚本文件的默认后缀是.sql。SQL脚本执行的结果有三种形式:文本显示形式、表格显示形式及文件保存形式。
10.编写一个程序,输出所有学生的学号和平均分,并以平均分递增排序。 解:对应的程序如下:
USE school GO
SELECT sno AS '学号',AVG(degree) AS '平均分' FROM score GROUP BY sno
ORDER BY AVG(degree) GO
程序执行结果如下:
11.编写一个程序,判断school数据库中是否存在student表。 解:对应的程序如下:
USE school GO
IF EXISTS(SELECT * FROM sysobjects WHERE name='student' AND type='U') PRINT '存在student表' ELSE
PRINT '不存在student表' GO
12.编写一个程序,查询所有同学参加考试的课程的信息。 解:对应的程序如下:
USE school GO
SELECT * FROM course WHERE EXISTS
(SELECT cno FROM score WHERE course.cno=score.cno AND degree IS NOT NULL) GO
程序执行结果如下:
第第91章章 T-SQL基础 网站与网页概述
4
13.编写一个程序,查询所有成绩高于该课程平均分的记录,且按课程号有序排列。 解:对应的程序如下:
USE school GO
SELECT *
FROM score a
WHERE degree > (SELECT AVG(degree) FROM score b WHERE a.cno=b.cno) ORDER BY cno GO
程序执行结果如下:
14.创建一个自定义函数maxscore,用于计算给定课程号的最高分,并用相关数据进行测试。
解:对应的程序如下:
USE school GO
CREATE FUNCTION maxscore(@no char(5)) --建立函数maxscore RETURNS @st TABLE --返回表@st。下面定义其表结构 (
sno char(5), cno char (5), maxs float ) AS
BEGIN
INSERT @st(sno,cno,maxs) --向@st中插入满足条件的记录 SELECT sno,cno,degree FROM score
WHERE cno=@no AND degree=(SELECT MAX(degree) FROM score WHERE cno=@no) RETURN END GO
SELECT * FROM maxscore('3-105') GO
程序执行结果如下:
上机实验题4参考答案
在上机实验题3建立的factory数据库上,完成如下各题的程序,要求以文本格式显示结果。 (1)显示所有职工的年龄,并按职工号递增排序。 (2)求出各部门的党员人数。
第第91章章 T-SQL基础 网站与网页概述
5
(3)显示所有职工的姓名和2004年1月份的工资。 (4)显示所有职工的职工号、姓名和平均工资。 (5)显示所有职工的职工号、姓名、部门名和2004年2月份的工资,并按部门名的顺序排列。 (6)显示各部门名和该部门的所有职工平均工资。
(7)显示所有平均工资高于1200的部门名和对应的平均工资。
(8)显示所有职工的职工号、姓名和部门类型,其中财务部和人事部属于管理部门,市场部属于市场部门。
(9)若存在职工号为10的职工,则显示其工作部门名称,否则显示相应提示信息。 (10)求出男女职工的平均工资,若男职工平均工资高出女职工平均工资50%,则显示“男职工比女职工的工资高多了”的信息;若男职工平均工资与女职工平均工资比率在1.5~0.8之间,则显示“男职工跟女职工的工资差不多”的信息;否则显示“女职工比男职工的工资高多了”的信息。
操作过程
(1)对应的程序如下:
USE factory GO
SELECT 姓名,YEAR(GETDATE())-YEAR(出生日期) AS '年龄' FROM worker ORDER BY 职工号 GO
执行结果如下:
姓名年龄
---------- ----------- 孙华 56 陈涛 50 刘欣 56 李涵 43 王小燕 44 李艺 45 魏君 38 孙天奇 43 陈明 63 李华 52 余慧 28 欧阳少兵 37 程西 28 张旗 28 刘夫文 66
(2)对应的程序如下:
USE factory GO
SELECT depart.部门名,COUNT(*) AS '党员人数' FROM worker,depart
WHERE worker.党员否='是' AND worker.部门号=depart.部门号 GROUP BY depart.部门名 GO
执行结果如下:
部门名党员人数
---------------- ----------- 财务部 2 人事部 1 市场部 2
正在阅读:
第 9章 T-SQL基础10-02
2014年湖南师范大学自然地理学招收硕士研究生入学考试大纲考研大纲01-17
葫芦丝社团活动记录06-23
试题:2013年重症医学科重要制度及岗位职责培训试题08-09
三年级下册口算、估算、脱式计算练习04-13
锂离子电池材料的研究及进展06-06
数码相机定位理工学院2队A题06-21
2020版新高考数学二轮复习(京津鲁琼版)练习:第一部分 小题专题练 小题专题练(四) 立体几何05-12
世界百年“货币战争”,中国终于宣布开战!07-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 基础
- SQL
- 2019届高考语文一轮复习经典专题练习之 专题十一 文学类文本阅读(散文)含解析KS5U+高考
- 2014-2019年中国女装行业调研与投资战略研究报告 - 图文
- 计算机体系结构论文
- C54x DSP的寻址方式及代数汇编指令
- 检验检测机构仪器设备管理方法 - 图文
- 武汉大学货币银行学平时练习题及答案(适合武大教材)
- 马克思基本原理简答题
- 接口实验报告
- 冀教版小学三年级数学上册《带括号的混合运算》教学设计
- 浅谈城市河道建设的重要意义和设计方案
- 中国蒸谷米行业市场前景分析预测报告(目录) - 图文
- 新船试航 毕业论文
- 分管副校长师德师风自查报告
- 解放战争时期围场县土匪问题初探
- 知识专题突破 专题9 立体几何 Word版含答案
- 五年级英语下册期末试题及答案
- 各类电位滴定法
- 管理沟通MBA2、YJ汽车运输有限公司教学笔记
- 天津市施工机械台班参考基价
- 《古诗两首》前中后老师