- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计_3_查询新
第3章 查询——基于SQL Server 2005haiwn@163.com; 查询是数据库的核心操作,数据查询是关系运算理论在SQL语言中的具体体现。
查询语句SELECT的格式:
SELECT A1,A2,… , An
FROM R1,R2, … , Rm
WHERE F
查询的结果就构成一个“视图”。;基本表是独立存在的数据表,直接对应存储文件;
视图是从一个或多个基本表导出来的表,并不独立存储于数据库中(数据库只存放视图的定义而非视图对应的数据),因而是虚表。
视图在概念上与基本表相同,都是关系。;本章用到的表;Course(课程表);SC(选课表);语句格式
SELECT [ALL|DISTINCT] 目标列表达式(序列)
FROM 基本表名(和)或视图名
[ WHERE 行条件表达式 ]
[ GROUP BY 列名1
[ HAVING 条件表达式 ]
]
[ ORDER BY 列名2 [ ASC|DESC ] ];;SELECT子句:指定要显示的属性列
FROM子句:指定查询对象(基本表或视图)
WHERE子句:指定查询条件
GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。
HAVING短语:筛选出只有满足指定条件的组
ORDER BY子句:对查询结果表按指定列值序或降序排序 ; 查询仅涉及一个表,是一种最简单的查询操作,包括:
选择表中的若干列
选择表中的若干元组
对查询结果排序
使用集函数
对查询结果分组;[例1] 查询全体学生的学号与姓名。
SELECT Sno,Sname
FROM Student;?
?
[例2] 查询全体学生的姓名、学号、所在系。
SELECT Sname,Sno,Sdept
FROM Student;
SELECT子句后的目标列表达式中各个列的先后顺序可自由改变,无须与表中顺序一致。;[例3] 查询全体学生的详细记录。
SELECT Sno,Sname,Ssex,Sage,Sdept
FROM Student;
或
SELECT *
FROM Student;;3.查询经过计算的值; 4.指定列名的别名
查询全体学生的姓名、出生年份和所有系,要求所有列名用中文表示。
SELECT Sname 姓名,‘Year of Birth: ’ 出生日期, (2000-Sage) 出生年,Sdept 系别;
FROM Student ; ;3.1.2选择表中的若干行(元组); 如果没有指定 DISTINCT 短语,缺省值为ALL,即保留结果表中取值重复的行。
DISTINCT短语的作用范围是所有目标列
如:查询选修课程的各种成绩
错误的写法
SELECT DISTINCT Cno,DISTINCT Grade
FROM SC;
正确的写法
SELECT DISTINCT Cno,Grade
FROM SC;;2.查询满足条件的元组;(1) 比较大小;[例8] 查询所有年龄在20岁以下的学生姓名及其年龄。
SELECT Sname,Sage
FROM Student
WHERE Sage 20;
或
SELECT Sname,Sage
FROM Student
WHERE NOT Sage = 20; ;(2) 确定范围;(3) 确定集合; 谓词LIKE可以用来进行字符串的匹配。
语法格式为:
[NOT] LIKE ‘匹配串’ [ESCAPE ‘ 换码字符’]
匹配串:指定匹配模板
匹配模板:固定字符串或含通配符的字符串
当匹配模板为固定字符串时, 可以用 = 运算符取代 LIKE 谓词,用 != 或 运算符取代 NOT LIKE 谓词。当要查询的字符串本身就含有 % 或 _ 时,要使用ESCAPE 换码字符 短语对通配符进行转义。;通配符
% (百分号) 代表任意长度(长度可以为0)的字符串
例:a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab 等都满足该匹配串
_ (下横线) 代表任意单个字符
例:a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串;[例11] 查询学号为9501001的学生的详细情况。 SELECT *
FROM Student
WHERE Sno LIKE 95001;
文档评论(0)