sql数据库第七章SQLServer2008数据查询1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【例7-3】查询所有同学的年龄信息。 SELECT stu_id, name, YEAR(GETDATE( ))-YEA R(birthday) FROM stu_info 在这里,YEAR为系统函数,获取指定日期的年
份;GETDATE()为系统函数,获取当前日期和
时间。
4.改变列标题显示 SELECT column_name as new_name [,…n] FROM table_name 【例7-4】查询所有同学的年龄信息。 SELECT name AS ‘姓名’, YEAR(GETDATE( ))YEAR(birthday) AS ‘年龄’ FROM stu_info
简单查询
1.查询列 基本格式为: SELECT column_name [, column_name…] FROM table_name WHERE Search_condition
1.查询指定列 数据表中有很多列,通常情况下并不需要查看全部 的列,因为不同的用户所关注的内容不同。 【例7-1】查询所有同学学号、姓名和成绩信息。 SELECT stu_id, name, grade FROM stu_info 在指定列查询中,列的显示顺序由SELECT子句指 定,与数据在表中的存储顺序无关;同时,在查询 多列时,用“,”将各字段隔开。
例1:查询数据表Student中所有学生的学号及年 龄,结果中各列的标题分别指定为学号、年龄; SELECT Sno as 学号, Sage as 年龄 FROM Stude nt 或者 SELECT Sno 学号, Sage 年龄 FROM Stud ent 或者 SELECT 学号=Sno, 年龄= Sage FROM Stu dent 注意:当自定义的标题中含有空格时,必须用引 号将标题括起来。
SELECT查询语句各子句的执行顺序
第一步,首先执行FROM子句。 第二步,如果有WHERE子句,实现基于指 定的条件对记录行进行筛选。 第三步,如果有GROUP BY子句,它将把 数据划为多个分组。 第四步,如果有HAVING子句,它将筛选 分组。 第五步,将SELECT子句作用于结果表。 第六步,如果有ORDER BY子句,则按指 定的排序规则对结果进行排序。 第七步,如果有INTO子句,则将查询结果 存储到用户指定的新表中。
SQL Server 数据库程序设计
授课教师:姜 姗
第七章 数据查询
熟练掌握SELECT数据查询语句的语法; 熟练掌握SELECT语句相关子句的使用; 熟练利用SELECT语句进行简单查询、连接查询 和嵌套查询。
7.1查询语句
数据查询是数据库系统最重要的功能。无论是创 建数据库,还是创建数据表等,最终的目的都是 为了利用数据,而利用数据的前提是需要从数据 库中查询出所需要的数据。所谓查询就是根据客 户端的要求,数据库服务器搜寻出用户所需要的
认的关键字。如果没有ORDER BY子句,DBMS将根
据输入表中数据的存放位置来显示数据。
SELECT各子句的顺序及功能
在SELECT查询语句中,各子句之间的顺序非常重 要。虽然有些可选子句可以省略,但一旦使用这 些子句就必须按照适当的顺序来安排它们的前后。 如果在同一个SELECT查询语句中用到了多个子句, 则正确的子句排列顺序应如下表所示,按序号由 低到高进行编写。
信息资料,并按用户规定的格式进行整理后返回
给客户端。
SQL Server 提供了基于“select-from-where” 语句的数据查询功能。 在数据库应用中,SELECT语句提供了丰富的查询 能力,可以查询一个表或多个表;对查询列进行 筛选、计算;对查询进行分组、排序;甚至可以 在一个SELECT语句中嵌套另一个SELECT语句。 主要分为:对列的查询、对行的查询、对查询结 果排序、使用聚合函数、对查询结果分组、Havi ng字句(分组后按条件筛选)。
SELECT查询语句各子句的编写顺序
序号 子句关键词 子句功能
1
2 3 4 5 6 7
SELECT
INTO FROM WHERE GROUP BY HAVING ORDER BY
从指定表中取出指定列的数据
将查询结果存储到新表中 指定要查询操作的表或视图 用来限定选择查询的条件 对结果集进行分组,常与聚合函数一起使用 用来限定分组的查询条件 用来对结果集进行排序
2.查询所有列
【例7-2】查询所有同学的所有信息。
SELECT * FROM stu_info 使用“*”通配符Baidu Nhomakorabea要慎重,在不需要查询所 有列时,尽量采用前面介绍的指定列查询,以
免占用过多的资源。
3.使用运算列 在数据查询时,经常需要对表中的列进行计算, 才能获得所需要的结果。在SELECT子句中可以 使用各种运算符和函数对指定列进行运算。
参数说明 GROUP BY子句:指定用来放置输出行的组,并且如
果SELECT子句select_list中包含聚合函数,则计算每 组的汇总值。 HAVING子句:指定组或聚合函数的搜索条件。HAVI NG通常与GROUP BY子句一起使用。 ORDER BY子句:指定结果集的排序方式。ASC关键 字表示升序排列结果,DESC关键字表示降序排列结 果。如果没有指定任何一个关键字,那么ASC就是默
Select查询语句语法结构
虽然SELECT语句的完整语法非常复杂,但其 主要子句可归纳如下: SELECT select_list 查询的列名 [ INTO new_table] 将查询结果存储到新表中 FROM table_source [ WHERE search_condition] [ GROUP BY group_by_expression] [ HAVING search_condition] [ ORDER BY order_expression [ ASC|DESC ] ]
例2:查询数据表Student中所有学生的学号及年 龄,结果中各列的标题分别指定为学 号、年 龄; SELECT Sno as ‘学 FROM Student 号’ , Sage as ‘年 龄’