网络数据库管理与维护课件

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

3、使用BETWEEN…AND(NOT BETWEEN…AND)关键字
——用于检索在某一特定范围内的信息
【问题】检索报名人数大于等于30并且小于等于40的课程信息,要求显示 课程名称和报名人数(使用BETWEEN…AND)
[注意]WHERE WillNum BETWEEN 30 AND 40包括30和40这两个值
【练习】检索上“Linux操作系统”课程的教师名
7、表达式作为SELECT语句中的列 【例】要求检索课程表的课程信息,并显示报名人数和限制选课人数之比
思考:如何将上面的检索结果按报名人数和限制选课人数之比的升序排列?
8、使用ORDER BY子句重新排列检索结果 【升序例子】 【降序例子】 也可以在ORDER BY子句中指定多个列 【例】检索课程表的教师名、课程号、课程名,要求检索结果首先按教师名降
【问题】从班级表中检索班级名,从系部表中检索系部名,并将这两个检索结 果合并起来
使用时注意: (1)所有检索中的列数和列的顺序必须相同 (2)所有检索中按顺序对应列的数据类型必须兼容(相同或者可以明确地转换)
[扩展] (1)修改列标题 (2)按新的列标题排序
5、使用COMPUTE子句 ——用来计算总计或进行分组小计 【问题】检索课程表中的课程编码、课程名称、课程分类、报名人数,并计算
网络数据库管理与维护课件
第1节 单表查询 问题: 我们需要对数据进行哪些维护操作?如何对数据进行查询、统计? 结构化查询语言(Structured Query Language)。这种语言的语法结构类
似于英语,易学易用,书写随意。[例如前面第一章讲过的例子]
语 言 概 述
Transact-SQL
【问题】对上例使用NOT BETWEEN…AND
也可以在WHERE字句中使用前面讲过的逻辑运算符检索某一范围内的信息
【练习】检索报名人数比限制选课人数多一倍以及一倍以上的课程信息, 要求显示课程名称、报名人数和限制选课人数之比,并按该比例的降 续排列
4、使用UNION子句——用于将两个或多个检索结果合并成一个结果
问 题
1、使用LIKE(NOT LIKE)关键字
通配符:
% 匹配包括0个或多个字符的字符串
_ 匹配任何一个字符
[] 匹配任何在范围内的单个字符,例如:[m-p]
[^] 匹配任何不在范围内的单个字符,例如:[^m-p]、[^mnop]
通配符和字符串要括在单引号中
【练习】解释下面的通配符表示的意义
%D%
【练习】要求检索系部编号为01的班级信息,要求显示班级编号和班

级名称



1、*的使用 【例】显示学生表中所有信息 【例】从学生表中检索学生所在班的班级编码 2、使用DISTINCT 【例】从学生表中检索学生所在班的班级编码,要求清除值相同的那些行 3、使用TOP n [PERCENT] 【例】从学生表中检索所有的信息,要求只显示前6行数据
操 作
_[^a]

[[] ——如果要查找通配符本身,需要将它们用方括号括起来

[%]D
( 续 )
【问题】检索以“制作”两字结尾的课程名(使用LIKE) 【练习】检索姓名的第二个字为“丽”的学生信息,要求显示学生学号和
姓名
【问题】检索不姓“刘”的学生信息(使用NOT LIKE)
2、使用IS NULL关键字——用于检索列中没有赋值的行 【问题】检索课程表中教师未定的课程名称和教师名
平均报名人数 [说明] 总计值或小计值作为附加新行出现在检索结果中。该子句用在WHERE子
句之后 从检索结果可以看到:
检索结果中有两个结果集 (1)包含选择的列的所有明细行 (2)包含COMPUTE子句中所指定的聚合函数的合计 [使用聚合函数]AVG()、MAX()、MIN()、SUM()
聚合函数也可以出现在SELECT子句中, 例PAGE 39【例2.10】 [扩展]
SELECT
/*从一个表或多个表中检索数据*/
DELETE
/*从表中删除数据*/
INSERT
/*向一个表中添加数据*/
UPDATE
/*修改表中已有的数据*/
语 言 的
3、数据控制语言DCL:用来控制用户对数据库对象操作的权限。 主要的命令有:

GRANT
/*授予权限*/

REMOVE
/*回收所授予的权限*/
序排列,教师名相同时,则按课程号的升序排列
9、使用IN(NOT IN)关键字 【例】检索课程编码为‘001’‘004’‘013’的课程名称 方法一:使用逻辑运算符OR 方法二:使用IN关键字(比使用逻辑运算符更为简单)
检索开设了“信息技术”类课程的教师名及其所开的课程名,要求先按教 师名升序排列,教师名相同时,按课程名的降序排列,并将显示的列 名改为中文。
打开一个数据库
使用SELECT子句
SELECT子句主要用于检索数据,其基本格式为:
SELECT 选择列表
FROM 表的列表
WHEAR 检索的条件
【 问 题 】 从 Student 表 中 检 索 学 号 为 00000001 的 学 生 的 姓 名 (StuName),要求显示学生的学号和姓名
1、数据定义语言DDL:用来定义和管理数据库中的对象。
DDL主要的语句有:
CREAT TABLE
/*创建表*/
ALTER TABLE
/*修改表的属性*/
DROP TABLE
/*删除表*/
2、数据操作语言DML:用来操作数据库中的对象和数据,是T-SQL中最常用 的部分。
DML主要的语句有:
Transact-SQL
键字
【练习】使用其他两种方法
5、在查询结果中显示字符串
【问题】检索课程表的信息,要求给出检索结果为:
课程名称
课程编码
SQL Server实用技术 课程编码为:
001
……
课程编码为: ……
……
课程编码为: ……
思考:如何检索课程编码是001的ຫໍສະໝຸດ Baidu程名称?
6、使用WHERE限制检索的条件 【例】检索课程编码为001的课程名称,要求只显示课程名称
4、修改检索结果中列的标题 【问题】检索学生表中的学号、班级编码和姓名信息,并修改列标题
方法有三: (1)将要显示的列标题用单引号括起来后接等号(=), 后接要检索的列名 (2)将要显示的列标题用单引号括起来后,写在列名后面,两者之间使用空格
隔开 (3)将要显示的列标题用单引号括起来后,写在列名后面,两者之间使用AS关
相关文档
最新文档