- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 SQL语言与SQL Server 主讲:杨莎 Email: cyoung1026@163.com 上篇:SQL语言 4.1 概述 4.2 数据定义 4.3 数据查询 4.4 数据操纵 4.5 数据控制 4.3 数据查询 4.3.1 概述 4.3.2 单表查询 4.3.3 多表查询 4.3.4 嵌套查询 4.3.5 集合查询 4.3.1 概述 语句格式 SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式] … FROM 表名或视图名[, 表名或视图名 ] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; SELECT语句注解 查询的结果是仍是一个表。 SELECT语句的执行过程是: 根据WHERE子句的检索条件,从FROM子句指定的基本表或视图中选取满足条件的元组,再按照SELECT子句中指定的列,投影得到结果表。 如果有GROUP子句,则将查询结果按照列名1相同的值进行分组。 如果GROUP子句后有HAVING短语,则只输出满足HAVING条件的元组。 如果有ORDER子句,查询结果还要按照列名2的值进行排序。 示例数据库:学生-课程 学生-课程数据库 S-T Student 表 Course 表 SC表 4.3.2 单表查询 查询仅涉及一个表,是一种最简单的查询操作 一、选择表中的若干列 二、选择表中的若干元组 三、对查询结果排序 四、使用集函数 五、对查询结果分组 1、查询指定列 [例1] 查询全体学生的学号与姓名。 SELECT Sno,Sname FROM Student;? ? [例2] 查询全体学生的姓名、学号、所在系。 SELECT Sname,Sno,Sdept FROM Student; 2、查询全部列 [例3] 查询全体学生的详细记录。 SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student; SELECT * FROM Student; 3. 查询经过计算的值 SELECT子句的目标列表达式可以为: 算术表达式 字符串常量 函数 列别名 查询经过计算的值-例题 [例4] 查全体学生的姓名及其出生年份。 SELECT Sname,2004-Sage /*假定当年的年份为2004年*/ FROM Student;? 输出结果: Sname 2004-Sage --------- ------------- 李勇 1984 刘晨 1985 王名 1986 张立 1985 查询经过计算的值-例题(con.) [例5] 查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。 SELECT Sname,Year of Birth: ,2004-Sage, ISLOWER(Sdept) FROM Student; 输出结果: Sname Year of Birth: 2004-Sage ISLOWER(Sdept) -------——----------------—--------- 李勇 Year of Birth: 1984 cs 刘晨 Year of Birth: 1985 cs 王名 Year of Birth: 1986 ma 张立 Year of Birth: 1985 is 查询经过计算的值-例题(con.) 使用列别名改变查询结果的列标题 SELECT Sname NAME,Year of Birth: ’ BIRTH, 2004-Sage BIRTHDAY,ISLOWER(Sdept) DEPARTMENT FROM Student; 输出结果: NAME BIRTH BIRTHDAY DEPARTMENT 李勇 Year of Birth: 1984 cs 刘晨 Year of Birth: 1985 cs 王名 Yea
文档评论(0)