SQL数据库应用(第四章).ppt_第1页
SQL数据库应用(第四章).ppt_第2页
SQL数据库应用(第四章).ppt_第3页
SQL数据库应用(第四章).ppt_第4页
SQL数据库应用(第四章).ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章数据库查询 学时 8目标学习SELECT语句执行查询的各种方法和技巧 掌握SELECT语句的基本结构 使用运算符和关键字过滤查询 使用聚合函数汇总数据等重点查询数据库难点各种语句的使用 SQL数据库应用 第四章数据库查询 4 1SELECT语句结构4 2基本子句查询4 3数据汇总4 4多表联接查询4 5联合查询4 6嵌套查询 第四章数据库查询 数据库检索速度的提高是数据库技术发展的重要标志之一 对于使用SQL的数据库 检索数据都要使用SELECT语句 使用SELECT语句 既可以完成简单的单表查询 联合查询 也可以完成复杂的联接查询 嵌套查询 4 1SELECT语句结构 SELECT语句能够从数据库中检索出符合用户需求的数据 并将结果以表格的形式返回 是SQLServer中使用最频繁的语句之一 它功能强大 所以也有较多的子句 包含主要子句的基本语法格式如下 SELECT列名1 列名2 INTO新表名 FROM表名1 表名2 WHERE条件 GROUPBY列名列表 HAVING条件 ORDERBY列名列表 ASC DESC 4 2基本子句查询 4 2 1SELECT子句4 2 2FROM子句4 2 3WHERE子句4 2 4ORDERBY子句4 2 5INTO子句 4 2 1SELECT子句 使用通配符 返回所有列值使用DISTINCT关键字消除重复记录使用TOPn指定返回查询结果的前n行记录使用列别名改变查询结果中的列名使用表达式 4 2 1SELECT子句 SELECT子句用于指定要返回的列 其完整的语法格式如下 4 2 1SELECT子句 4 2 2FROM子句 只要SELECT子句有要查询的列 就必须使用FROM子句指定进行查询的单个或者多个表 此外 SELECT语句要查询的数据源除了表以外还可以是视图 视图相当于一个临时表 其语法格式如下 FROM 表名 视图名 n 4 2 3WHERE子句 算术表达式逻辑表达式LIKE关键字BETWEEN关键字IN关键字NULL关键字 4 2 3WHERE子句 算术表达式逻辑表达式LIKE关键字BETWEEN关键字IN关键字NULL关键字 4 2基本子句查询 4 2 4ORDERBY子句ORDERBY子句用于按查询结果中的一列或多列对查询结果进行排序 其语法格式如下 ORDERBY列名列表 ASC DESC 4 2 5INTO子句INTO子句用于把查询结果存放到一个新建立的表中 新表的列由SELECT子句中指定的列构成 其语法格式如下 INTO新表名 4 3数据汇总 4 3 1使用聚合函数4 3 2使用GROUPBY子句4 3 3使用HAVING子句4 3 4使用COMPUTE和COMPUTEBY子句 4 3 1使用聚合函数 聚合函数的功能是对整个表或表中的列组进行汇总 计算 求平均值或总和 COUNT DISTINCT ALL COUNT DISTINCT ALL AVG DISTINCT ALL MAX DISTINCT ALL MIN DISTINCT ALL SUM DISTINCT ALL 4 3 2使用GROUPBY子句 GROUPBY子句用来对查询结果进行分组GROUPBY ALL WITH CUBE ROLLUP 4 3 3使用HAVING子句 HAVING子句用来指定分组或集合的搜索条件 通常和GROUPBY子句一起使用 其行为与WHERE子句相似 只是WHERE子句作用于表和视图 HAVING子句作用于分组 其语法格式如下 HAVING指定条件 4 3 4使用COMPUTE和COMPUTEBY子句 有时我们不仅需要知道数据的汇总情况 可能还需要知道详细的数据记录 此时可以使用COMPUTE或COMPUTEBY子句生成明细汇总结果 COMPUTE子句用于对列进行聚合函数计算并生成汇总值 汇总的结果以附加行的形式出现 其语法格式如下 COMPUTE AVG COUNT MAX MIN STDEV STDEVP VAR VARP SUM 列名1 n BY列名1 n 4 4多表联接查询 4 4 1联接简介数据库的设计原则是精简 通常是各个表中存放不同的数据 最大限度地减少数据库冗余数据 而实际工作中 往往需要从多个表中查询出用户需要的数据并生成单个的结果集 这就是联接查询 SQLServer联接语法格式如下 SELECT表名 列名1 n FROM表名1 n WHERE 查询条件AND OR联接条件 n 尽可能以表的主键和外键来指定联接条件 如果以各表共同拥有的列来指定联接 则这些列的数据类型必须相同或兼容 如果所要联接的表具有相同的列名 则在引用这些列的时候 必须指定其表名 格式为 表名 列名参与联接查询的表的个数越多 SQLServer处理这个查询所花费的时间就越 所以应该尽量限制表的个数 4 4多表联接查询 4 4 2联接的类型1 内联接2 左外联接3 右外联接4 完全外部联接5 交叉联接 1 内联接所谓内联接指的是返回参与联接查询的表中所有匹配的行 在ANSI联接形式中使用关键字INNERJOIN表示 2 左外联接所谓左外联接指的是返回参与联接查询的表中所有匹配的行和所有来自左表的不符合指定条件的行 在右表中对应于左表无记录的部分用NULL值表示 在ANSI联接形式中使用关键字LEFT OUTER JOIN表示 而在SQLServer联接形式中使用运算符 表示 3 右外联接所谓右外联接指的是返回参与联接查询的表中所有匹配的行和所有来自右表的不符合指定条件的行 在左表中对应于右表无记录的部分用NULL值表示 在ANSI联接形式中使用关键字RIGHT OUTER JOIN表示 而在SQLServer联接形式中使用运算符 表示 4 完全外部联接所谓完全外部联接指的是返回联接的两个表中的所有相应记录 无对应记录的部分用NULL值表示 完全外部联接的语法只有ANSI语法格式一种 使用关键字FULL OUTER JOIN表示 5 交叉联接所谓交叉联接指的是返回两个表交叉查询的结果 它返回两个表联接后的所有行 即返回两个表的笛卡尔积 不需要用ON子句来指定两个表之间任何连接的列 4 5联合查询 联合查询是指将多个SELECT语句返回的结果通过UNION操作符组合到一个结果集中 参与查询的SELECT语句中的列数和列的顺序必须相同 数据类型也必须兼容 其语法格式如下 SELECT语句1UNION ALL SELECT语句2在联合查询中 查询结果的列标题是第一个查询语句中的列标题 如果希望结果集中的行按照一定的顺序排列 则必须在最后一个有UNION操作符的语句中使用ORDERBY子句指定排列方式 且使用第一个查询语句中的列名 列标题或列序号 4 5嵌套查询 嵌套查询是指在一个SELECT语句的WHERE子句或HAVING子句中 又嵌套有另外一个SELECT语句的查询 嵌套查询中上层的SELECT语句块称为父查询或外层查询 下层的SELECT语句块称为子查询或内层查询 注意子查询需要用圆括号 括起来子查询的SELECT语句中不能使用image text或ntext数据类型子查询返回的结果值的数据类型必须匹配新增列或where子句中的数据类型子查询中不能使用COMPUTE BY 或INTO子句在子查询中不能出现ORDERBY子句 ORDERBY子句应该放在最外层的父查询中 本章小结 掌握SELECT语句的基本结构 在SELECT语句中 SELECT子句指定查询的特定表中的列 FROM子句指定查询的表 WHERE子句指定查询的条件 掌握列别名的3种表示方式 表别名的2种表示方式 学会使用INTO子句生成新的表 使用ORDERBY子句进行数据排序 使用比较运算符 逻辑运算符和LIKE IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论