版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理及应用开发技术_sql1讲义三 关系数据库标准语言sql 1 sql1 sql简介简介 2 sql2 sql定义语言定义语言 3 sql3 sql操作语言操作语言 4 sql4 sql查询语言查询语言 5 sql5 sql的基本语言元素的基本语言元素 6 sql6 sql的操作符的操作符 7 sql7 sql表达式表达式 8 sql8 sql条件条件 9 sql9 sql函数函数 10 sql10 sql查询与子查询查询与子查询 总结总结数据库原理及应用开发技术_sql23.1 sql3.1 sql简介简介 structure query language(sql)structure
2、 query language(sql)的历史的历史19701970年年, ,prof codd prof codd 提出著名的关系数据模型提出著名的关系数据模型sqlsql语言由语言由ibm research labibm research lab首先开发创建首先开发创建system rsystem r时使用时使用19791979年年, ,关系软件公司关系软件公司( (oracle)oracle)首先开发出实首先开发出实用的商业用的商业sqlsql版本版本sql sql 是高级的非过程化编程语言。是高级的非过程化编程语言。 数据库原理及应用开发技术_sql33.1 sql3.1 sql简介简
3、介 sqlsql标准标准sql-86sql-86是第一个是第一个sqlsql标准标准sql-89sql-89、sql-92(sql2)sql-92(sql2)、sql-99(sql3)sql-99(sql3)关系型商业数据库遵守的查询语言规范关系型商业数据库遵守的查询语言规范各种通行的数据库系统在其实践过程中都对各种通行的数据库系统在其实践过程中都对 sql sql 规范作了某些编改和扩充规范作了某些编改和扩充 数据库原理及应用开发技术_sql43.1 sql3.1 sql简介简介 sqlsql的使用的使用直接使用直接使用 交互式查询工具(交互式查询工具(ms sql server:trans
4、act-sqlms sql server:transact-sql) 直接键入直接键入sqlsql命令对数据库进行操作命令对数据库进行操作 由由dbmsdbms进行解释进行解释嵌入式嵌入式sql(embedded sql)sql(embedded sql) 嵌入到高级编程语言嵌入到高级编程语言 使应用程序充分利用使应用程序充分利用sqlsql访问数据库的能力、宿主访问数据库的能力、宿主语言的过程处理能力。语言的过程处理能力。 需要将嵌入的需要将嵌入的sqlsql语句转化为宿主语言编译器能处语句转化为宿主语言编译器能处理的语句理的语句数据库原理及应用开发技术_sql53.1 sql3.1 sql
5、简介简介 sqlsql语句分类语句分类数据定义语言(数据定义语言(data definitiondata definition) createcreate alteralter dropdrop数据操作语言(数据操作语言(data manipulationdata manipulation) insertinsert updateupdate deletedelete数据查询语言数据查询语言 selectselect数据控制语言数据控制语言(data control)(data control) grantgrant rolerole revokerevoke数据库原理及应用开发技术_sql6
6、3.5.1 3.5.1 数据类型数据类型 常用的数据类型常用的数据类型数据类型数据类型描述描述char(size)char(size)存储最长为存储最长为n n个字节的定长字符串个字节的定长字符串varchar(size)varchar(size)存储最长为存储最长为n n个字节的变长字符串个字节的变长字符串numeric(p,s)numeric(p,s)存储任何类型的数字存储任何类型的数字datetimedatetime存储日期时间存储日期时间intint长整形长整形smallintsmallint短整形短整形float(n)float(n)浮点数,精度至少为浮点数,精度至少为n n位数字位
7、数字数据库原理及应用开发技术_sql73.1 sql3.1 sql简介简介 数据定义语句格式数据定义语句格式1 1 创建表创建表 create table create table ( 列完整性约束条件列完整性约束条件 , 列完整性约束条件列完整性约束条件 , 列完整性约束条件列完整性约束条件, ););数据库原理及应用开发技术_sql83.1 sql3.1 sql简介简介 数据定义语句格式数据定义语句格式2 2 更改表更改表 alter table alter table add add 列完整性约束条件列完整性约束条件 , drop drop , modify modify ;3 3 删除
8、表删除表 drop table drop table ;数据库原理及应用开发技术_sql93.1 sql3.1 sql简介简介 数据操作语句格式数据操作语句格式1 1 插入操作插入操作 insert into insert into (, , ,1, )n) values (values (, , ,2, );n);数据库原理及应用开发技术_sql103.1 sql3.1 sql简介简介 数据操作语句格式数据操作语句格式2 2 修改操作修改操作 update update set set =, , = where where ; ; 3 3 删除操作删除操作 deletedelete from
9、 from where where ;数据库原理及应用开发技术_sql113.1 sql3.1 sql简介简介 数据查询语句:数据查询语句:数据查询是数据库的核心操作数据查询是数据库的核心操作selectselect语句的格式为:语句的格式为: select all|distinct all|distinct 别名别名 , , 别名别名 from 别名别名 , , 别名别名 where group by 1 having order by asc|desc, asc|desc, 3 asc|descasc|desc ;数据库原理及应用开发技术_sql123.1 sql3.1 sql简介简介 数
10、据控制语句:授权数据控制语句:授权sqlsql语言用语言用grantgrant语句向用户授予操作权限,语句向用户授予操作权限,grantgrant语句的一般格式为:语句的一般格式为: grant grant , on on to to , with grant option;with grant option;数据库原理及应用开发技术_sql133.1 sql3.1 sql简介简介 数据控制语句:收回权限数据控制语句:收回权限授予的权限用授予的权限用revokerevoke语句收回,语句收回,revokerevoke语句语句的一般格式为:的一般格式为: revoke revoke , on o
11、n from from ,;数据库原理及应用开发技术_sql143.1 sql3.1 sql简介简介 数据控制语句:角色数据控制语句:角色创建角色创建角色 create role create role ;分配角色:分配角色: grant grant to to ;数据库原理及应用开发技术_sql153.2 sql3.2 sql定义语言定义语言表、视图是数据库中的主体。表、视图是数据库中的主体。sqlsql提供数据定提供数据定义语句对这些主体进行管理义语句对这些主体进行管理 sqlsql的数据定义语句的数据定义语句 操作对象操作对象操操 作作 方方 式式创创 建建删删 除除修修 改改表表cre
12、ate tabledrop tablealter table视视 图图create viewdrop view数据库原理及应用开发技术_sql163.2.1 3.2.1 表定义表定义1 表的创建sqlsql语言使用语言使用create tablecreate table语句定义表,其一语句定义表,其一般格式如下:般格式如下:create table create table ( 列级完整性约束条件列级完整性约束条件 , 列级完整性约束条件列级完整性约束条件 ) , ); ;数据库原理及应用开发技术_sql173.2.1 3.2.1 表定义表定义1 表的创建(1 1)实体完整性)实体完整性 例例
13、 建立建立studentstudent表,表,snosno作为主码。作为主码。create table studentcreate table student (sno char(7) primary key,(sno char(7) primary key, sname char(8), sname char(8), ssex char(2) , ssex char(2) , sage smallint, sage smallint, sdept char(20) ); sdept char(20) );数据库原理及应用开发技术_sql183.2.1 3.2.1 表定义表定义1 表的创建(1
14、 1)实体完整性)实体完整性 例例 建立建立scsc表,表,snosno和和cnocno是主码。是主码。create table sccreate table sc (sno char(7), (sno char(7), cno char(4), cno char(4), grade smallint,grade smallint, primary key (sno,cno); primary key (sno,cno);数据库原理及应用开发技术_sql193.2.1 3.2.1 表定义表定义1 表的创建(2)参照完整性)参照完整性例例 建立建立sc表,表,sno和和cno是主码,且是主码,且
15、sno和和cno也是外码,分别引也是外码,分别引用用student表的表的sno列和列和course表的表的cno列。列。create table sc (sno char(7), cno char(4), grade smallint, primary key (sno,cno),foreign key (sno) references student(sno), foreign key (cno) references course(cno);数据库原理及应用开发技术_sql203.2.1 3.2.1 表定义表定义1 表的创建(3)属性值约束)属性值约束 非空值限制非空值限制 指定允许的取
16、值范围指定允许的取值范围当往表中插入元组或修改属性的值时,当往表中插入元组或修改属性的值时,数据库管理系统就检查属性上的限制是否数据库管理系统就检查属性上的限制是否被满足,如果不满足则操作被拒绝执行。被满足,如果不满足则操作被拒绝执行。数据库原理及应用开发技术_sql213.2.1 3.2.1 表定义表定义1 表的创建(3 3)属性值约束)属性值约束例例 当学生的性别是男时,其名字不能以当学生的性别是男时,其名字不能以ms.打头。打头。 create table student (sno char(7) primary key, sname char(8) not null, ssex cha
17、r(2), sage smallint, sdept char(20), check (ssex =女女 or sname not like ms.% );数据库原理及应用开发技术_sql223.2.1 3.2.1 表定义表定义2 修改表一般格式为:一般格式为: alter table add 完整性约束完整性约束 drop modify ;数据库原理及应用开发技术_sql233.2.1 3.2.1 表定义表定义2 2 修改表修改表例例 向向student表增加表增加“入学时间入学时间”列,其数据列,其数据类型为日期型。类型为日期型。alter table student add scome
18、date;不论表中原来是否已有数据,新增加的列一不论表中原来是否已有数据,新增加的列一律为空值。律为空值。例例 删除学生姓名不能取空值的约束。删除学生姓名不能取空值的约束。alter table student drop not null(sname);数据库原理及应用开发技术_sql243.2.1 3.2.1 表定义表定义3、删除表、删除表当某个表不再需要时,可以使用当某个表不再需要时,可以使用drop table语句删除它。其一般格式为:语句删除它。其一般格式为:drop table 例例 删除删除student表。表。drop table student;数据库原理及应用开发技术_sql
19、253.2.2 3.2.2 试图定义试图定义1、视图的作用、视图的作用(1)视图能够简化用户的操作)视图能够简化用户的操作(2)视图可以减少冗余数据)视图可以减少冗余数据(3)视图对重构数据库提供了一定程度的逻)视图对重构数据库提供了一定程度的逻辑独立性辑独立性(4)视图能够对机密数据提供安全保护)视图能够对机密数据提供安全保护数据库原理及应用开发技术_sql263.2.2 3.2.2 试图定义试图定义2、视图创建、视图创建sql语言用语言用create view命令建立视命令建立视图,其一般格式为:图,其一般格式为:create view (, )as with check option;数
20、据库原理及应用开发技术_sql273.2.2 3.2.2 试图定义试图定义2 试图创建试图创建例例 建立计算机系学生的视图。建立计算机系学生的视图。create view student_csas数据库原理及应用开发技术_sql283.2.2 3.2.2 试图定义试图定义 2 试图创建试图创建例例 建立英语课(建立英语课(1156)成绩单的视图。)成绩单的视图。create view english_grade(sno, sname, grade)as数据库原理及应用开发技术_sql293.2.2 3.2.2 试图定义试图定义2 试图创建试图创建例例 建立英语课的成绩在建立英语课的成绩在80分
21、以上的学生分以上的学生的视图。的视图。create view english_grade_80as数据库原理及应用开发技术_sql303.2.2 3.2.2 试图定义试图定义3 删除视图删除视图当不再需要一个视图时,可以删除它,当不再需要一个视图时,可以删除它,语句格式为:语句格式为:drop view 例例 删除视图删除视图student_csdrop view student_cs;数据库原理及应用开发技术_sql313.3 sql3.3 sql操作语言操作语言1 插入操作插入操作2 修改操作修改操作3 删除操作删除操作数据库原理及应用开发技术_sql323.3.1 3.3.1 插入操作插
22、入操作1、插入操作、插入操作插入语句的格式是:插入语句的格式是: insertinto (, )values ( , );数据库原理及应用开发技术_sql333.3.1 3.3.1 插入操作插入操作例例 将学生王林的信息插入到将学生王林的信息插入到student表中。表中。insert into student(sno,sname,ssex,sdept,sage)values (2000012, 王林王林, 男男, 计算机计算机, 19);into子句指定子句指定student表和要赋值的列,表和要赋值的列,values子句对元组的各列赋值。子句对元组的各列赋值。数据库原理及应用开发技术_sq
23、l343.3.1 3.3.1 插入操作插入操作例例 在表在表course中增加课程离散数学的信中增加课程离散数学的信息。息。insertinto course(cno,cname,cpno,ccredit)values (1136, 离散数学离散数学, null, 4);符号符号null的含义是赋予该列的值是空的含义是赋予该列的值是空值。值。数据库原理及应用开发技术_sql353.3.2 3.3.2 修改操作修改操作2、修改操作、修改操作修改操作又称为更新操作,语句的一般修改操作又称为更新操作,语句的一般格式是:格式是:update set =, =where ;数据库原理及应用开发技术_sq
24、l363.3.2 3.3.2 修改操作修改操作例例 将学号为将学号为2000012的学生的年龄改为的学生的年龄改为18岁。岁。update studentset sage=18where sno=2000012;例例6 将所有学生的年龄增加将所有学生的年龄增加1岁。岁。update studentset sage= sage+1;数据库原理及应用开发技术_sql373.3.3 3.3.3 删除操作删除操作3、删除操作、删除操作 语句的一般格式为:语句的一般格式为: delete from where ;数据库原理及应用开发技术_sql383.3.3 3.3.3 删除操作删除操作例例 删除学号为
25、删除学号为2000012的学生记录。的学生记录。deletefrom studentwhere sno=2000012;例例 删除所有的学生选课记录。删除所有的学生选课记录。deletefrom sc;数据库原理及应用开发技术_sql393.4 sql3.4 sql查询语音查询语音 1.1.查询基本结构概述查询基本结构概述 2.2.查询子句概述查询子句概述 3.select 3.select 列表列表 4.from4.from子句子句 5.where5.where子句子句数据库原理及应用开发技术_sql403.4.1 查询基本结构概述 查询基本结构概述:查询基本结构概述:select 列表:指
26、定列列表:指定列 from 指定表指定表 where 指定行指定行 语义:语义:select select 子句中的属性列表,对上述结果作投子句中的属性列表,对上述结果作投影(影( )操作。)操作。from from 子句:对指定关系,作笛卡儿积(子句:对指定关系,作笛卡儿积()where where 子句:进行选择(子句:进行选择()运算,找出符)运算,找出符合条件的元组。合条件的元组。数据库原理及应用开发技术_sql413.4.2 查询子句概述 select select 子句指定您要检索的列。子句指定您要检索的列。 from from 子句指定从中请求列的表。在所有从表中检索数据子句指定
27、从中请求列的表。在所有从表中检索数据的查询中都需要该子句。的查询中都需要该子句。 on on 子句指定子句指定 from from 子句中的表将如何进行连接。该子句子句中的表将如何进行连接。该子句只用于多表查询。只用于多表查询。 where where 子句指定表中您要查看的行。子句指定表中您要查看的行。 group by group by 子句用于集合数据。子句用于集合数据。 having having 子句指定要在其上收集集合数据的行。子句指定要在其上收集集合数据的行。 order by order by 子句对结果集中的行进行排序。子句对结果集中的行进行排序。数据库原理及应用开发技术_s
28、ql423.4.3 select 列表1从表中选择所有列 select distinct select distinct * * from table-expression from table-expression2从表中选择特定的列 select dept_id, dept_name from departmentselect dept_id, dept_name from department3重命名查询结果中的列 select column-namecolumn-name as aliasalias select column-namecolumn-name aliasalias4查询
29、结果中显示字符串 select the firstname is as “ ”,first_name from employees;select the firstname is as “ ”,first_name from employees;5计算 select 列表中的值 select first_name, salary - 10 as salary after tax from select first_name, salary - 10 as salary after tax from employees; employees; 数据库原理及应用开发技术_sql433.4.4 fr
30、om子句 直接使用表名 from table_name 使用相关名 您可以赋予表名一个相关名以减少需要键入的字符。您可以在 from 子句中指派相关名,方法是在表名之后键入该相关名,如下所示: select d.dept_id, d.dept_name from department d from 子句包括链接两个或多个表的表名数据库原理及应用开发技术_sql443.4.5 where 子句比较 where salary 50000 范围 where salary between 40000 and 60000 列表 where station in ( beijing, shanghai,
31、jinan) 字符匹配 where phone like 415% 未知值 where first_name is not null组合组合 where salary 50000 and first_name like a% 数据库原理及应用开发技术_sql453.5 sql3.5 sql的基本语言元素的基本语言元素 数据类型数据类型 数值常量数值常量 数据格式化数据格式化 空值空值数据库原理及应用开发技术_sql463.5.1 3.5.1 数据类型数据类型 数据类型自动转换规则数据类型自动转换规则insertupdateinsertupdate语句中语句中, ,数据值按照字段的类型进行转数据
32、值按照字段的类型进行转换换selectselect语句中语句中, ,字段值按照定义的变量类型转换字段值按照定义的变量类型转换比较字符数值与数字数值时比较字符数值与数字数值时, ,将字符数值转换为数字将字符数值转换为数字比较字符数值与日期数值时比较字符数值与日期数值时, ,将字符数值转换为日期将字符数值转换为日期赋值语句中赋值语句中, ,一般将等号右边的变量转换为左边的数据一般将等号右边的变量转换为左边的数据类型类型 数据库原理及应用开发技术_sql473.5.1 3.5.1 数据类型数据类型 字符自动转换字符自动转换 select salary + 10 from employees; sel
33、ect last_name from employees where employee_id = 200; select last_name from employees where hiredate = 1982-01-23;数据库原理及应用开发技术_sql483.5.2 3.5.2 数值常量数值常量 字符常量字符常量 hello oracle 09-mar-98 数字常量数字常量 25 +6.34 0.5 25e-03 -1数据库原理及应用开发技术_sql493.5.3 3.5.3 数据格式化数据格式化 字符串格式化字符串格式化cast ( cast ( expressionexpress
34、ion as as data_type data_type ) ) convert ( convert ( data_type data_type ( ( length length ) , ) , expressionexpression , , style style ) ) 日期格式化日期格式化字符串转日期字符串转日期 select cast(2009-01-01 as datetime) select cast(2009-01-01 as datetime) 日期格式转换日期格式转换 select convert(varchar(100), getdate(), select conv
35、ert(varchar(100), getdate(), 0)0)数据库原理及应用开发技术_sql503.5.4 null(3.5.4 null(空空) ) null:null:表明记录的字段中不包含任何值表明记录的字段中不包含任何值( (空空) ) 目前将目前将等同于等同于null null (oracle)oracle) 条件中的条件中的nullnull if a is: condition evaluates to: 10 a is null false 10 a is not null true nulla is null true null a is not null false 1
36、0 a = null unknown 10 a != null unknown数据库原理及应用开发技术_sql513.6 sql3.6 sql的操作符的操作符 操作符介绍操作符介绍一元操作符一元操作符二元操作符二元操作符多元操作符多元操作符 算术运算符算术运算符 连接运算符连接运算符 组合操作符组合操作符数据库原理及应用开发技术_sql523.6.1 3.6.1 算数运算符算数运算符 运算符运算符举例举例 + -+ -select * from where quantity = -1; select hire_date from employees where convert(int,getd
37、ate() - hire_date,1) 365;* * / / update employees set salary = salary * 1.1;数据库原理及应用开发技术_sql533.6.2 3.6.2 连接运算符连接运算符 连接运算符连接运算符:+:+ example: create table tab1 (col1 varchar(6), col2 char(6),col3 varchar(6), col4 char(6) ); insert into tab1 (col1, col2, col3, col4) values (abc, def, ghi, jkl); select
38、 col1+col2+col3+col4 concatenation from tab1; - abcdef ghijkl数据库原理及应用开发技术_sql543.6.3 3.6.3 组合操作符组合操作符 将两个或多个查询的结果组合到一个结果将两个或多个查询的结果组合到一个结果集中集中 操作符 返回结果 union 组合组合查询的结果(不重复)查询的结果(不重复) union all 组合查询的全部结果组合查询的全部结果 intersect 组合查询的共有结果组合查询的共有结果 minus对第一个查询取唯一记录,对共对第一个查询取唯一记录,对共有记录不返回有记录不返回数据库原理及应用开发技术_s
39、ql553.6.3 3.6.3 组合操作符组合操作符 举例:举例: create table a1(t1 char(1),t2 char(2); create table a2(t01 char(1),t02 char(2); insert into a1(t1,t2) values(1,11); insert into a1(t1,t2) values(2,22); insert into a2(t01,t02) values(2,22); insert into a2(t01,t02) values(3,33); select t01,t02 from a2 union select t1
40、,t2 from a1;数据库原理及应用开发技术_sql563.7 sql3.7 sql表达式表达式 sqlsql表达式的应用范围表达式的应用范围select exprselect expr、where exprwhere expr、having exprhaving exprorder by expr order by expr insert insert 的的values() values() 、update update 的的set exprset expr sqlsql表达式的形式表达式的形式简单表达式、复合表达式、简单表达式、复合表达式、casecase表达式表达式datetimed
41、atetime表达式、间隔表达式表达式、间隔表达式变量表达式、表达式列表变量表达式、表达式列表数据库原理及应用开发技术_sql573.7.1 sql3.7.1 sql简单表达式简单表达式 举例举例select select employees.first_name from from employeesemployeesselect select 1 from employees where from employees where first_name = first_name = w wselect select any string from employees from employe
42、es where where 数据库原理及应用开发技术_sql583.7.2 sql3.7.2 sql复合表达式复合表达式 举例举例 (clark + smith) len(moose) * 57 sqrt(144) + 72数据库原理及应用开发技术_sql593.7.3 case3.7.3 case表达式表达式 casecase表达式让你可以在表达式让你可以在sqlsql中使用中使用ififelseelseend if end if 的逻辑的逻辑 exampleexample select sno,case when grade 85 then high when grade ,=,=,=
43、2500; any,someselect * from employees where salary = any (select salary from employees where department_id = 30); allselect * from employees where salary = all ( 1400, 3000);数据库原理及应用开发技术_sql643.8.2 3.8.2 逻辑条件逻辑条件逻辑类型逻辑类型exampleexamplenotselect * from employees where not (job_id is null);select * fro
44、m employees where not (salary between 1000 and 2000); andorselect * from employees where job_id = pu_clerk andor department_id = 30;数据库原理及应用开发技术_sql653.8.3 3.8.3 成员条件成员条件类型类型exampleexampleinselect * from employees where job_id in (pu_clerk,sh_clerk);select * from employees where salary in (select sa
45、lary from employees where department_id =30); not inselect * from employeeswhere job_id not in(pu_clerk, sh_clerk);数据库原理及应用开发技术_sql663.8.4 3.8.4 范围条件范围条件 类型类型exampleexamplenot between x and y select * fromemployees where salary between 2000 and 3000;数据库原理及应用开发技术_sql673.8.5 null条件条件 类型类型exampleexampl
46、e is not is notselect last_name null from employeeswhere salaryis null; 数据库原理及应用开发技术_sql683.8.6 like条件条件 举例:举例: select ename from emp where ename like a_l% escape ;类型x not like yescape z数据库原理及应用开发技术_sql693.8.7 3.8.7 复合条件复合条件 通过()、通过()、not not 、and and 、or or 复合各类简单复合各类简单的条件的条件 exampleexampleselect f
47、irst_name from employees select first_name from employees where first_name like where first_name like m%m% and and (salary = 2000 or department_id in (salary = 2000 or department_id in (10,20);(10,20);数据库原理及应用开发技术_sql703.9 3.9 功能函数功能函数 内部函数内部函数单行函数单行函数聚集函数聚集函数 用户自定义函数用户自定义函数数据库原理及应用开发技术_sql713.9 3.9
48、 功能函数功能函数 常用的单行函数常用的单行函数数值函数数值函数 absabs、sqrtsqrt、roundround、modmod字符函数字符函数 lowerlower、upperupper、lenlen、trimtrim、substrsubstr日期函数日期函数 day,month,year,getdate,weekday,todayday,month,year,getdate,weekday,today转换函数转换函数 convertconvert、castcast数据库原理及应用开发技术_sql723.9 3.9 功能函数功能函数 常用的聚集函数常用的聚集函数 求平均:求平均:avg
49、总计:总计:count 最大值:最大值:max 最小值:最小值:min 求总和:求总和:sum数据库原理及应用开发技术_sql733.10 sql3.10 sql查询和子查询查询和子查询 1.1.sqlsql查询举例查询举例 2.2.sqlsql子查询子查询子查询简介子查询简介子查询的作用子查询的作用wherewhere子句中的子查询子句中的子查询fromfrom子句中的子查询子句中的子查询havinghaving子句中的子查询子句中的子查询数据库原理及应用开发技术_sql743.10.1 sql3.10.1 sql汇总、分组与排序汇总、分组与排序 sqlsql汇总:汇总:应用了集合函数的每一
50、组行生成一个值应用了集合函数的每一组行生成一个值 举例:举例:select avg(salary + 1) from select avg(salary + 1) from select count(distinct id) from select count(distinct id) from select sum(salary) from select sum(salary) from select max(salary) from select max(salary) from 数据库原理及应用开发技术_sql753.10.2 sql3.10.2 sql汇总、分组与排序汇总、分组与排序
51、sqlsql分组:分组:group by group by 字句,将表的输出划分为若干个字句,将表的输出划分为若干个组组举例:举例: select employee_id,avg(salary) from select employee_id,avg(salary) from employees group by employee_id;employees group by employee_id;数据库原理及应用开发技术_sql763.10.2 sql3.10.2 sql汇总、分组与排序汇总、分组与排序 wherewhere子句与子句与havinghaving子句:子句:where wher
52、e 决定哪些元组被选择参加运算,作用于关系决定哪些元组被选择参加运算,作用于关系中的元组。中的元组。having having 决定哪些分组符合要求,作用于分组。决定哪些分组符合要求,作用于分组。聚合函数的条件关系必须用聚合函数的条件关系必须用havinghaving,wherewhere中不应出中不应出现聚合函数。现聚合函数。 举例:举例: select department_id, min(salary), max (salary) from employees group by department_id having min(salary) (where salary (select avg(e.salary) from employees e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度酒店客房洗涤及用品供应合同范本3篇
- 数字技术对教师培训的影响和机遇
- 2025年度知识产权许可使用合同许可使用范围2篇
- Review of Units 3-4说课稿2024-2025学年仁爱科普版八年级英语上册
- 第一单元第四课二、《如何筛选记录》说课稿 2023-2024学年新世纪版(2018)初中信息技术七年级下册001
- 第三章 问题研究 如何让城市不再“看海”-说课稿 2024-2025学年高一地理人教版必修第一册
- 《第一单元 和计算机交朋友:2 玩转鼠标》说课稿-2024-2025学年浙江摄影版(三起)(2020)信息技术三年级上册
- 篮球七 说课稿-九年级体育与健康
- 8《认识健康》说课稿-鲁教版《体育与健康》七年级上册
- 《认识多媒介》说课稿 2023-2024学年统编版高中语文必修下册
- 中国末端执行器(灵巧手)行业市场发展态势及前景战略研判报告
- 辐射安全知识培训课件
- 2023-2024学年八年级(上)期末数学试卷
- 北京离婚协议书(2篇)(2篇)
- 2025年烟花爆竹储存证考试题库
- 2025年北京机场地服岗位招聘历年高频重点提升(共500题)附带答案详解
- ICH《M10:生物分析方法验证及样品分析》
- 2024-2030年全球及中国医用除尘器行业销售模式及盈利前景预测报告
- 2025学年人教新版英语七下Unit1随堂小测
- 2024年度光伏发电项目施工合同工程量追加补充协议3篇
- 建筑废弃混凝土处置和再生建材利用措施计划
评论
0/150
提交评论