
第6章 数据查询 结构化查询语言(Structured Query Langurage,SQL) 是一种数据库语言,用于访问、查询、更新和管理关系数 据库系统中的数据
第6章 数据查询 结构化查询语言(Structured Query Langurage,SQL) 是一种数据库语言,用于访问、查询、更新和管理关系数 据库系统中的数据

SQL语言的功能 SQL功能 动词 数据定义 CREATE、DROP、ALTER 数据查询 SELECT 数据操纵 INSERT、DELETE、UPDATE 数据控制 GRANT、REVOKE
SQL语言的功能 SQL功能 动词 数据定义 CREATE 、 DROP 、 ALTER 数据查询 SELECT 数据操纵 INSERT 、 DELETE 、 UPDATE 数据控制 GRANT 、 REVOKE

6.2查询表--SELECT语句 SELECT[TOPn[PERCENT刀]选择(列名)列表 [INTO新表名] FROM表或视图列表 [WHERE查询条件] [GROUP BY分组表达式] [HAVING分组查询条件] [ORDER BY排序表达式[ASCIDESC]
6.2 查询表-----SELECT语句 SELECT [TOP n[PERCENT]] 选择(列名)列表 [INTO 新表名] FROM 表或视图列表 [WHERE 查询条件] [GROUP BY 分组表达式] [HAVING 分组查询条件] [ORDER BY 排序表达式[ASC|DESC]]

选择列表用来指出返回的数据,可以包含若干列名或 表达式,用逗号分隔,可用“*”表示所有列 ·例查询学生表中所有学生的学号和姓名。 ·查询学生表中的所有信息。 ·查询成绩表中已选课学生的学号 ·查询学生表中所有学生的学号、姓名和年龄。 ·TOP关键字限制返回行数
选择列表用来指出返回的数据,可以包含若干列名或 表达式,用逗号分隔,可用“*”表示所有列 • 例查询学生表中所有学生的学号和姓名。 • 查询学生表中的所有信息。 • • 查询成绩表中已选课学生的学号 • 查询学生表中所有学生的学号、姓名和年龄。 • TOP关键字限制返回行数

Where 查询条件 类别 运算符 说明 比较运算符 =、>=、>、 比较两个表达式 逻辑运算符 and、or、not 组合两个表达式的结果或取 反 范围运算符 Between and,not between and 搜索值是否在范围内 列表运算符 in、not in 查询值是否属于列表值之一 字符匹配符 Like、not like 字符串是否匹配 未知值 Is null、is not null 值是否为空
Where 查询条件 类别 运算符 说明 比较运算符 逻辑运算符 范围运算符 列表运算符 字符匹配符 未知值 =、>=、>、 and、or、not Between and、not between and in、not in Like、not like Is null、is not null 比较两个表达式 组合两个表达式的结果或取 反 搜索值是否在范围内 查询值是否属于列表值之一 字符串是否匹配 值是否为空

Where 查询条件 ·查询条件是一个逻辑表达式 Select*from学生where姓名=王丽i ·Between m and n格式 Select*from成绩where成绩between75and85 ·谓词in:属性名[not]in(常量,,常量) Select*from学生where year(出生时间)in(1990,1991) ·谓词ike:属性名[not)ike通配字符串 %表示0个或多个字符;_表示一个字符 Select*from学生where姓名Iike‘杨%' Select*from学生where姓名Iike杨_’
Where 查询条件 • 查询条件是一个逻辑表达式 Select * from 学生 where 姓名=‘王丽’ • Between m and n格式 Select * from 成绩 where 成绩 between 75 and 85 • 谓词in:属性名[not] in (常量,….,常量) Select * from 学生 where year(出生时间) in (1990,1991) • 谓词like:属性名[not] like 通配字符串 %表示0个或多个字符;_表示一个字符 Select * from 学生 where 姓名 like ‘杨%’ Select * from 学生 where 姓名 like 杨_’

·1查询学生表中专业含有计算机的学生信息。 2查询学生表中专业含有计算机且1990年后出生的 学生的姓名、专业信息。 ·3查询学生表中非软件技术和计算机网络技术专业的 信息。 ·4查询软件技术专业的所有男同学的信息
• 1 查询学生表中专业含有计算机的学生信息。 • 2 查询学生表中专业含有计算机且1990年后出生的 学生的姓名、专业信息。 • 3 查询学生表中非软件技术和计算机网络技术专业的 信息。 • 4 查询软件技术专业的所有男同学的信息

Order by子句-=-排序 ·ASC或默认升序;DESC降序 ·查询学生表所有记录,结果按性别降序排 ·查询学生表所有记录,结果按性别降序排,性 别相同的按出生日期升序排
Order by 子句-------排序 • ASC或默认升序;DESC降序 • 查询学生表所有记录,结果按性别降序排 • 查询学生表所有记录,结果按性别降序排,性 别相同的按出生日期升序排

练习 。1、查询“学生”表中1991年后出生的男的学生信息, 结果按出生日期降序排。 。 2、查询“学生”表中专业含有“应用”的学生信息, 按出生时间降序排。 3、查询“学生”表中学号为2009051002、 2009055001、2009056004几个学生的姓名、专业信 息。 ·4、查询“学生”表中不是软件技术专业的学生信息。 5、查询“成绩”表中分数在70~80分之间的学生信息, 结果按成绩升序排
练习 • 1、查询“学生”表中1991年后出生的男的学生信息, 结果按出生日期降序排。 • 2、查询“学生”表中专业含有“应用”的学生信息, 按出生时间降序排。 • 3、查询“学生”表中学号为2009051002、 2009055001、2009056004几个学生的姓名、专业信 息。 • 4、查询“学生”表中不是软件技术专业的学生信息。 • 5、查询“成绩”表中分数在70~80分之间的学生信息, 结果按成绩升序排

聚合函数实现数据统计 ·SUM(属性名):求数值型属性之和 ·AVG(属性名):求数值型属性之平均值 ·COUNT():返回表的记录行数(含重复行) COUNT(属性名):返回指定列非空值的单元格数目 COUNT(DISTINCT属性名):返回指定列非空、不重复 的单元格数目 ·MAX(属性名):返回指定列中的最大值 ·MIN(属性名):返回指定列中的最小值 ·格式:select聚合函数as自定义列名from表名
聚合函数------实现数据统计 • SUM(属性名):求数值型属性之和 • AVG(属性名):求数值型属性之平均值 • COUNT(*):返回表的记录行数(含重复行) COUNT(属性名):返回指定列非空值的单元格数目 COUNT(DISTINCT 属性名):返回指定列非空、不重复 的单元格数目 • MAX(属性名):返回指定列中的最大值 • MIN(属性名):返回指定列中的最小值 • 格式:select 聚合函数 as 自定义列名 from 表名