资源描述
SQL SERVER高级培训 主讲人 :郑维勇 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 数据库的概述 数据库对象 表、视图、存储过程、触发器、默认值、规则、 索引、用户。 SQL Server数据库的版本 个人版 标准版 开发版 企业版 Transact-SQL语言主要的 4个组成部份 数据定义语言 DDL 数据操作语言 DML 数据控制语言 DCL 共它语言元素 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Transact-SQL 数据定义语言 DDL 用来创建数据库、数据库对象和定义列。包括 : CREATE,ALTER,DROP。 数据操纵语言 DML 用来操纵数据库的命令。包括 : SELECT,INSERT,UPDATE,DELET。 数据控制语言 DCL 用来控制数据库组件的存取许可、存取权限等的命令 包括 : GRANT,DENY,REVOKE。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 管理 SQL Server服务 启动 SQL Server服务 Net start mssqlserver 暂停 SQL Server服务 Net pause mssqlserver 停止 SQL Server服务 Net stop mssqlserver Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL Server服务 SQL Server 2000的各种服务和功能说明 服务器名称 文件名 服务说明 MSSQLSERVER Sqlserver.exe 它负责数据存取、安全配置、事务 管理等 (Binnsqlserver.exe) SQLSERVERAGENT Sqlagent.exe 负责调度定期执行的活动以及通知 系统管理员服务器所发生的问题 (Binnsqlagent.ext) Microsoft Search Mssearch.exe 提供数据库内全文检索的功能 Distributed Transaction Coordinator(MSDTC) Msdtc.exe 是一个事务管理器,它允许客户端 应用程序在一个事务中包含多个不 同的数据源 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL Server服务器的注册与删除 1、通过控制台目录 2、使用 Transact-sql sp_addserver server= server ,local= local ,duplicate_ok= duplicate_ok Eg sp_addserver local Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 配置链接服务器 在 SQL Server 2000中 ,允许 SQL Server用户访问基于 SQL Server的服务器 以外的数据。通过配置链接服务器可以实现访问其他服务器上的 OLE DB 数据源。链接服务器是对 OLE DB数据源的抽象,是 OLE DB提供程序和 连接属性的来源。 在链接服务器的边接过程中,为了使该连接有效,需要在链接服务器 之间创建登录映射。 链接服务器登录映射可以通过系统存储过程 sp_addlinkedsrvlogin添加,相应地, 链接服务器登录映射可以通过系统存储过程 sp_droplinkedsrvlogin删除。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 配置链接服务器 添加键接服务器 Sp_addlinkedserver server= server ,srvproduct= product_name ,provider=provider_name ,datasrc=data_source ,location=location ,provstr=provider_string ,catalog=catalog Eg: exec sp_addlinkedserver server=exam2, provider=Microsoft.Jet.OLEDB.4.0, srvproduct=,datasrc=d:db2.mdb sp_addlinkedserver 链接服务器名 , 产品名 , Microsoft.Jet.OLEDB.4.0, Access数据库路径及文件名 sp_addlinkedserver Anna, Access 2000, Microsoft.Jet.OLEDB.4.0, D:db2.mdb Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 配置链接服务器 数据源 提供者名称 Product_name Provider_name Data_source SQL Server SQL Server OLE DB Provider SQL Server SQL Server SQL Server主机网络名称 Access Microsoft OLE DB provider for Jet 任意名称 Microsoft.Jet.OL E DB.4.0 Access文件路径 和文件名称 Excel Microsoft OLE DB provider for Jet 任意名称 Microsoft.Jet.OL E DB.4.0 Excel文件路径和 文件名称 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 配置链接服务器 创建链接服务器登录 通过系统存储过程 sp_addlinkedsrvlogin可以创建或更新本地 SQL Server 实例上的登录与链接服务器上远程登录之间的映射。其语法为: Sp_addlinkedsrvlogin rmtsrvname=rmtsrvname ,useself= useself ,location=location ,rmtuser=rmtuser ,rmtpassword=rmtpassword 其中,参数 : (1)rmtsrvname= rmtsrvname:是应用登录映射的链接服务器名称 (2)useself=useself:决定用于连接到远程服务器的登录名称,默认 设置为 ture.true值指定 SQL Server验证的登录使用其自己的凭据以连接 到 rmtsrvname,而忽略 rmtuser和 rmtpassword参数 (3)locallogin=locallogin:是本地服务器上的登录 ,默认设置为 Null.如 果为 null,则指定应用于所有连接到 rmtsrvname的本地登录若不为 null 则 locallogin可以是 SQL Server登录或 windows NT用户 (4)rmtuser=rmtuser:当 useself为 false时 ,用来连接 rmtsrvname的用户名 , 默认设置为 null. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 配置链接服务器 创建一个映射,使得所有到本地服务器的登录都使用其各自的用户凭据 连接到链接服务器 exam Exec sp_addlinkedsrvlogin exam 或 Exec sp_addlinkedsrvlogin exam,true 使用指定的用户和密码将所有本地登录连接到链接服务器 Exec sp_addlinkedsrvlogin exam,false,null,user,password 创建一个映射,使得所有到本地服务器的登录都使用相同的登录 user和 密码 password连接到链接服务器 exam,不使用登录和密码 Exec sp_addlinkedsrvlogin exam,false Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 配置链接服务器 数据访问 从 SQL Server 2000中访问 OLE DB数据源的方法有两种:通过特殊名称 以及通过链接服务器进行数据访问。在通过特殊名称访问 OLE DB数据 源的方法中,可以通过函数 openrowset和 opendatasource来进行。其语法 : Openrowset (provider_name, datasource;user_id;password|provider_string ,catalog.schema.object |query ) Eg: SELECT * FROM OPENROWSET(Microsoft.Jet.OLEDB.4.0, d:db2.mdb; admin;, bbs) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 查询分析器 如何进入查询分析器? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL语言基础 (变量与常量 ) 定义和使用局部变量 定义局部变量 Declare variable_name datatype ,.n Declare sex char(2) 为局部变量赋值 为局部变量赋值一般有两种 ,一种是使用 select语句,另一种是使用 Set语句 Select variable_name=expression from table_name,n where clause declare bookname varchar(30) select bookname = vc print bookname GO Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL语言基础 (变量与常量 ) 定义和使用全局变量 全局变量是 SQL SERVER系统内部事先定义好的变量,不 用用户参与定义,对用户而言是只读的 。 identity:返回最近一次插入的 identity列的数值 ,返回值是 numeric procid:返回当前存储过程的 ID标识 version:返回当前 SQL Server服务器安装日期、版本以及处理器的类型 language:返回当前使用的语言名 servername:返回当前 SQL SERVER服务器名称 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL语言基础 (变量与常量 ) 使用日期和时间常量 SQL 提供的日期 /时间数据类型可以存储日期和时间的组给数据。 SQL 规定日期、时间和时间间隔的常量值被指定为字符中常量。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL语言基础 (数据类型 ) 常见的数据类型 1. 整型 (int,smallint,tinyint,bigint) 2. 浮点数据类型 (real,float,decimal) 3. 二进制数据类型 (binary,varbinary) 4. 逻辑数据类型 5. 字符型数据类型 (char(n),nchar(n),varchar(n),nvarchar(n) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL语言基础 (复合语句 ) 定义复合语句 (beginend) declare A int,B int,C int set A=20 set B=30 begin set C=A set A=B set B=C end print A print B Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQL语言基础 (条件判断语句 ) 使用 if语句进行条件判断 If 命令行 |程序块 declare x int set x=-100 if x0 print x是一个负数 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 新建数据库 Create database命令 Create database database_name on ,.n ,.n log on,.n collate collation_name for load|for attach Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 新建数据库 create database student on ( name=学生管理数据库 , filename=f:datastudent.mdf, size=1MB, MAXSIZE=50MB, FILEGROWTH=5MB ) log on ( name=学生管理日志 , filename=f:datastudent.ldf, size=1MB, MAXSIZE=50MB, FILEGROWTH=10% ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 修改数据库 ALTER DATABASE命令 alter database student modify file( name=学生管理数据库 , maxsize=unlimited ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 删除数据库 Drop Database命令 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 新建表 Create table 命令 Create table table_name ( column_name data_type null|not null primary key|unique , ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 新建表 use student go create table stu_info ( stu_id int not null, stu_name varchar(10), gender bit, major varchar(20), address varchar(100) ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 修改表 (增加字段 ) 增加字段 Alter table table_name Add column_name data_type Eg: alter table stu_info add memo text Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 修改表 (增加主键 ) Alter table add primary key(column_name) Eg: alter table stu_info add primary key(stu_id) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 修改表 (更改字段 ) 更改字段属性 Alter table table_name Alter column column_name new_data_type Eg: alter table stu_info alter column stu_name varchar(12) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 修改表 (删除字段 ) Alter table table_name Drop column column_name Eg: alter table stu drop column memo Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 表的重命名 Exec sp_rename old_table,new_table Eg: exec sp_rename stu_info,stu Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 表的删除 Drop table table_name Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 显示数据库信息 显示 SQL SERVER数据库中所有数据库详细信息 Select * from sysdatabases Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 显示系统 /用户表 显示数据库中所有表的详细信息 use stu select * from sysobjects 显示数据库中系统表的详细信息 use stu select * from sysobjects where xtype=s 显示数据库中用户表的详细信息 use stu select * from sysobjects where xtype=u Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 显示表中的字段名称及属性 显示表中的字段名称 Select col_name(object_id(tbl_stu,3) 显示表中的字段长度 Select col_length(tbl_stu,stu_id) 显示表中结构 Sp_help tbl_stu Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (列的查询 ) 单列查询 Select field_name from table_name 多列查询 Select field_name1,field_name2,. from table_name 查询所有列 Select * from table_name 使用列名 Select field_name as new_name from table_name Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (列的计算 ) 简单列计算 复杂列计算 执行算术组合运算 连接列值 Select 图书名称 ,(单价 -进价 )as 利润 from tb_xsb02 Select sum(数量 )as 总数量 ,sum(数量 )%2 剩余 from tb_xsb02 Select name 姓名 ,(math+english+chinese)总分 , (math+english+chinese)/3 平均分 from tb_score02 Select (名字 +( )+姓氏 ) 姓名 from tb_abstu02 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (Where条件 ) 检索单行值 不匹配检索 Select * from tb_stu02 where 学号 =ID001 Select * from tb_stu02 where 学号 ID001 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (区间查询 ) 利用符号进行区间查询 利用 Bewteen进行区间查询 Select * from tb_abstu02 where 年龄 18 and 年龄 90 and 英语成绩 90 利用 OR运算符连接 where子句 Select 学生姓名 ,数学成绩 ,音乐成绩 ,英语成绩 from tb_StuScore03 where 数学成绩 90 or 英语成绩 90 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (IN运算符 ) Select 教师姓名 ,系别 ,年龄 ,性别 from tb_TeacherInfo03 where 系别 in(计算机系 ,英语系 ,生物系 ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (NOT运算符 ) Select 房间号 ,房间类型 ,价格 ,房态 ,配置 from tb_kf03 where (房态 NOT IN (入住 ) and (not(价格 between 80 and 150) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (like运算符 ) 使用 %匹配字符 Like %mr%-包含字符 mr的任何文本 Like mr%-以字符 mr开头的任何文本 Like %mr-以字符 mr结尾的任何文本 select 考生课程 ,考生人数 ,有效时间 from tb_StuExam where 考生课程 like 计算机 % Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (like运算符 ) 使用 _匹配任意单个字符 Select 学生编号 ,学生姓名 ,年龄 ,所在学院 from tb_StuInfo03 where 学生编号 like 20070101_ Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (like运算符 ) 使用 匹配某一范围的字符 a-m表示 a到 m的所有字符 0-9表示 0到 9的所有数字 Select 学生编号 ,学生姓名 ,性别 ,年龄 ,所学专业 from tb_Student05 where 年龄 like 2-2_ Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (like运算符 ) 使用 匹配非某一范围的字符 Select 学生编号 ,学生姓名 ,性别 ,年龄 ,所学专业 from tb_Student05 where 年龄 like 2-2_ 语句 Select * from stu where name like MC 功能? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (数据排序 ) 升序排序 Select * from tb_employee06 order by 奖金 降序排序 Select * from tb_employee06 order by 奖金 desc 列出前 n条记录 Select top n * from tbl_stu 列出前 n-m条记录 (mn) Select top n+1 * from (select top m * from tbl_question) tbl_question order by id desc Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (数据排序 ) 列出 n%条记录 Select top 10 percent * from tbl_stu 随机列出 n条记录 Select top 5 * from tbl_question order by newid() 不显示重复值 Select distinct stu_name from tbl_stu Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (汉字排序 ) 按姓氏笔画排序 select * from tb_stu06 order by 姓名 collate chinese_prc_stroke_cs_as_ks_ws 按音序排序 select * from tb_stu06 order by 姓名 collate chinese_prc_cs_as Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (动态排序 ) CASE条件语句的语法格式 1. 简单 CASE函数 Case input_expression When when_expression then result_expression .n Else else_result_expression END 2.CASE搜索函数 Case When boolean_expression then result_expression . .n ELSE else_result_expression END Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (动态排序 ) Select 学生编号 ,学生名称 ,所在班级 ,学生成绩 = case when 学生成绩 is null then 暂无成绩! when 学生成绩 is not null then 有成绩! end from tb_StuXueSheng03 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (动态排序 ) select rq, sum(case when shengfu=胜 then 1 else 0 end) 胜 , sum(case when shengfu=负 then 1 else 0 end) 负 from match group by rq Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (操作字符串 ) 截取字符串 Select stu_id,substring(stu_name,1,4),age from tbl_stu Select stu_id,left(stu_name,1),age from tbl_stu Select stu_id,Right(stu_name,1),age from tbl_stu 去除尾部空格 Select 学号 ,rtrim (学号 )as 去空格后 , 姓名 ,rtrim(姓名 )as 去空格后 , 专业 ,rtrim(专业 )as 去空格后 from tb_stu04 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (操作字符串 ) 使用” +”连接字符串 select 书名 ,类别 , (书名 + 的类别为 + 类别 ) as 说明 from tb_book04 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (操作字符串 ) 使用 stuff函数插入字符串 Stuff(character_expression,start,length,character_expression) Select 学号 ,姓名 , stuff(学号 ,2,2,200800) as 新学号 from tb_stu04 获取字符在字符串中出现的次数 Select len(apples is in the apple tree)- len(replace (apples is in the apple tree,p,)/len(p) as a from tb_name04 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (操作字符串 ) 替换字符串 使用 replace函数将字符串中某一字符替换成另一字符 Eg: select replace(dsfsdfsfdsf*fd,d,*)as 替换后 字符串大小写转换 Uper(character_expression) Lower(character_expression) select upper(firstname)as up_firstname, lower(lastname )as low_lastname from tb_name04 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (格式化字符串 ) 在字符串查询中 ,可以将字符串格式化为需要的格式 ,以 增加结果集的可读性。 charindex函数 Charindex函数用于返回字符串中指定表达式的起始位置 语法: Charindex(expression1,expression2,start_location) Eg: select 电话号码 as 提取前 , left (电话号码 ,charindex(-,电话号码 )-1)as 区号 , substring(电话号码 ,charindex(-,电话号码 )+1, len(电话号码 )-charindex(-,电话号码 )as 号码 from tb_tel04 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (格式化字符串 ) 用“ ” 代替过长的字符串显示 select str1 , case when len(str1)10 then left(str1,10)+. else str1 end as news_str from tb_tb04 求 07/08级各有多少学生 ? select sum(case when left(stu_id,2)=07 then 1 else 0 end) 07级人数 , sum(case when left(stu_id,2)=08 then 1 else 0 end) 08级人数 from tbl_stu Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (聚合函数 ) SUM函数 (汇总 ) SELECT SUM(数量 ) AS 总数量 ,SUM(单价 ) AS 总金额 FROM tb_xsb07 AVG函数 (平均 ) SELECT AVG(语文 ) AS 语文 ,AVG(代数 ) AS 代数 ,AVG(几何 ) AS 几何 ,AVG(英语 ) AS 英语 FROM tb_stuAchievement07 MAX函数 (最大值 ) SELECT MAX(销售额 ) AS 最高销售额 FROM tb_seller07 MIN函数 (最小值 ) SELECT MIN(销售额 ) AS 最低销售额 FROM tb_seller07 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (聚合函数 ) COUNT函数 (总计记录条数 ) SELECT COUNT(*) AS 日销售数量 from tb_bookSell07 where 日期 =2005-10-6 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (分组统计 ) GROUP BY子句创建简单分组 SELECT 商品类别 FROM tb_goods07 GROUP BY 商品类别 GROUP BY子句创建多列组合列 SELECT 书名 ,出版社 FROM tb_bookSell07 GROUP BY 书名 ,出版社 GROUP BY对统计结果进行排序 SELECT 学生编号 ,学生姓名 , sum(高数 +外语 +计算机文化基础 +马经 +数据库管理 + 数据结构 +软件工程 ) AS 总成绩 FROM tb_StuMark07 GROUP BY 学生编号 ,学生姓名 ORDER BY 总成绩 DESC Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (分组统计 ) Having子句 SELECT 书名 ,出版社 ,SUM(金额 ) AS 总计金额 FROM tb_BookSell07 GROUP BY 书名 ,出版社 HAVING SUM(金额 )500 Having子句与 WHERE子句的联合使用 Select class_name,count(*) as 人数 from tbl_stu,tbl_class where tbl_stu.class_id=tbl_class.class_id group by class_name Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (分组统计 ) 在分组查询中使用 CUBE运算符 cube运算符的主要作用是自动对 Group By子句中列出的字段 进行分组汇总运算。 Select 班级 ,性别 ,avg(语文 ) 语文平均成绩 , avg(代数 ) 代数平均成绩 ,avg(几何 ) 几何平均成绩 , avg(英语 )英语平均成绩 from tb_stuAchievement07 group by 班级 ,性别 with cube Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (分组统计 ) 在分组查询中使用 ROLLUP select 班级 ,性别 ,avg(语文 ) 语文平均成绩 , avg(代数 ) 代数平均成绩 ,avg(几何 ) 几何平均成绩 , avg(英语 )英语平均成绩 from tb_stuAchievement07 group by 班级 ,性别 with rollup Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (分组统计 ) 使用 COMPUTE子句在同一结果集中显示明细和 汇总 compute AVG|COUNT|MAX|MIN|STDEV|STDEVP |VAR|VARP|SUM (expression),.n By expression,n select * from tb_pay07 order by 所属部门 compute avg(工资 ) SELECT * FROM tb_pay07 ORDER BY 所属部门 COMPUTE SUM(工资 ) BY 所属部门 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (使用子查询 ) 简单子查询 SELECT 姓名 ,工资 ,所属部门 , (SELECT AVG(工资 ) FROM tb_apay08) AS 平均工资 , (工资 -( SELECT AVG(工资 ) FROM tb_apay08) AS 与平均工资的差额 FROM tb_apay08 为子查询命名 SELECT * FROM (SELECT 挂账单位 ,SUM(欠款金额 ) AS 金额 FROM tb_agzmx08 GROUP BY 挂账单位 )tb1 ORDER BY 金额 ASC Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Select语句 (使用子查询 ) 在子查询中使用聚合函数 SELECT 姓名 ,工资 ,所属部门 FROM tb_apay08 WHERE 工资 ( SELECT AVG(工资 ) FROM tb_apay08 ) 使用子查询更新数据 UPDATE tb_aMesell08 SET 药品名称 =润洁 WHERE 药品名称 IN (SELECT 药品名称 FROM tb_aMesell08 WHERE
展开阅读全文