文档详情

第4章SQL语言和SQL Server2-unf.ppt

发布:2018-05-10约8.27千字共54页下载文档
文本预览下载声明
第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
显示全部
相似文档