数据库原理及应用开发技术_SQL3-课件

PPT
  • 阅读 128 次
  • 下载 0 次
  • 页数 95 页
  • 大小 531.512 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
数据库原理及应用开发技术_SQL3-课件
可在后台配置第一页与第二页中间广告代码
数据库原理及应用开发技术_SQL3-课件
可在后台配置第二页与第三页中间广告代码
数据库原理及应用开发技术_SQL3-课件
可在后台配置第三页与第四页中间广告代码
数据库原理及应用开发技术_SQL3-课件
数据库原理及应用开发技术_SQL3-课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 95
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】数据库原理及应用开发技术_SQL3-课件.ppt,共(95)页,531.512 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92509.html

以下为本文档部分文字说明:

讲义三关系数据库标准语言SQL•1SQL简介•2SQL定义语言•3SQL操作语言•4SQL查询语言•5SQL的基本语言元素•6SQL的操作符•7SQL表达式•8SQL条件•9SQL函数•10SQL查询与子查询•总结3.1SQL简介•Struc

tureQueryLanguage(SQL)的历史–1970年,ProfCodd提出著名的关系数据模型–SQL语言由IBMResearchLab首先开发创建SystemR时使用–1979年,关系软件公司(Oracle)首先开发出

实用的商业SQL版本–SQL是高级的非过程化编程语言。3.1SQL简介•SQL标准–SQL-86是第一个SQL标准–SQL-89、SQL-92(SQL2)、SQL-99(SQL3)–关系型商业数据库遵守的查询语言规范

–各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充3.1SQL简介•SQL的使用–直接使用•交互式查询工具(MSsqlserver:Transact-sql)•直接键入SQL命令对数据库进行操作•由DBMS进行解释–嵌入式SQ

L(EmbeddedSQL)•嵌入到高级编程语言•使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力。•需要将嵌入的SQL语句转化为宿主语言编译器能处理的语句3.1SQL简介•SQL语句分类–数据定义语言(DataDefinition)•create•alt

er•drop–数据操作语言(DataManipulation)•insert•update•delete–数据查询语言•select–数据控制语言(DataControl)•grant•role•revoke3.5.1数据类型•常用的数据类型–数据类型描述–CHAR(s

ize)存储最长为n个字节的定长字符串–VARCHAR(size)存储最长为n个字节的变长字符串–NUMERIC(P,S)存储任何类型的数字–DATETIME存储日期时间–INT长整形–SMALLINT短整形–F

LOAT(n)浮点数,精度至少为n位数字3.1SQL简介•数据定义语句格式–1创建表•CREATETABLE<表名>•(<列名1><数据类型>[列完整性约束条件],•<列名2><数据类型>[列完整性约束条件],•…•<列名n><数据类型>[列完整性约束条件],•<表完整性约束条件>)

;3.1SQL简介•数据定义语句格式–2更改表•ALTERTABLE<表名>•[ADD<新列名><数据类型>[列完整性约束条件],•[DROP<完整性约束名>],•[MODIFY<列名><数据类型>];–3删除表•DROPTABLE<表名>;3.1SQL简介•数据操作

语句格式–1插入操作•INSERTINTO<表名>•(<列名1>[,<列名1>,…<列名n>])•VALUES(<值1>,[<值2>,…<值n>]);3.1SQL简介•数据操作语句格式–2修改操作•UP

DATE<表名>•SET<列名>=<表达式>[,<列名>=<表达式>]…•[WHERE<条件>];–3删除操作•DELETE•FROM<表名>•[WHERE<条件>];3.1SQL简介•数据查询语句:–数据查询是数据库的核心操作–SELECT语句的格式为

:•SELECT[ALL|DISTINCT]<目标列表达式>[别名][,<目标列表达式>[别名]]„FROM<表名或视图名>[别名][,<表名或视图名>[别名]]„[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|

DESC][,<列名3>[ASC|DESC]„„];3.1SQL简介•数据控制语句:授权–SQL语言用GRANT语句向用户授予操作权限,GRANT语句的一般格式为:•GRANT<权限>[,<权限>]…•[ON<表名或视图名>]•TO<用户>[,<用户>]…•[

WITHGRANTOPTION];3.1SQL简介•数据控制语句:收回权限–授予的权限用REVOKE语句收回,REVOKE语句的一般格式为:•REVOKE<权限>[,<权限>]…•[ON<表名或视图名>

]•FROM<用户>[,<用户>];3.1SQL简介•数据控制语句:角色–创建角色•CREATEROLE<角色>;–分配角色:•GRANT<角色>TO<用户>;3.2SQL定义语言表、视图是数据库中的主体。SQL提供数据定义语句对这些主体进行管理S

QL的数据定义语句操作对象操作方式创建删除修改表CREATETABLEDROPTABLEALTERTABLE视图CREATEVIEWDROPVIEW3.2.1表定义1表的创建SQL语言使用CREATETABLE语句定义表,其一般格式如下:CREATETABLE<表名>(<列名><数据类型>[列

级完整性约束条件][,<列名><数据类型>[列级完整性约束条件]]…)[,<表级完整性约束条件>]);3.2.1表定义1表的创建(1)实体完整性[例]建立Student表,Sno作为主码。CREATETABLEStudent(SnoCHA

R(7)PRIMARYKEY,SnameCHAR(8),SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));3.2.1表定义1表的创建(1)实体完整性[例]建立SC表,Sno和Cno是主码。CREATETABLESC(Sno

CHAR(7),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno));3.2.1表定义1表的创建(2)参照完整性[例]建立SC表,Sno和Cno是主码,且Sno和Cno也是外码,分别引用Student表的Sno列和Course表的Cno列。CREA

TETABLESC(SnoCHAR(7),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno)

,FOREIGNKEY(Cno)REFERENCESCourse(Cno));3.2.1表定义1表的创建(3)属性值约束•非空值限制•指定允许的取值范围当往表中插入元组或修改属性的值时,数据库管理系统就检查属性上的限制是否被满足,如果不满足则操

作被拒绝执行。3.2.1表定义1表的创建(3)属性值约束[例]当学生的性别是男时,其名字不能以Ms.打头。CREATETABLEStudent(SnoCHAR(7)PRIMARYKEY,SnameCHAR(8)NOTNULL,Ss

exCHAR(2),SageSMALLINT,SdeptCHAR(20),CHECK(Ssex='女'ORSnameNOTLIKE'Ms.%'));3.2.1表定义2修改表一般格式为:ALTERTABLE<表

名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束名>][MODIFY<列名><数据类型>];3.2.1表定义2修改表[例]向Student表增加“入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDScomeD

ATE;不论表中原来是否已有数据,新增加的列一律为空值。[例]删除学生姓名不能取空值的约束。ALTERTABLEStudentDROPNOTNULL(Sname);3.2.1表定义3、删除表当某个表不再需要时,

可以使用DROPTABLE语句删除它。其一般格式为:DROPTABLE<表名>[例]删除Student表。DROPTABLEStudent;3.2.2试图定义1、视图的作用(1)视图能够简化用户的操作(2)视图可以

减少冗余数据(3)视图对重构数据库提供了一定程度的逻辑独立性(4)视图能够对机密数据提供安全保护3.2.2试图定义2、视图创建SQL语言用CREATEVIEW命令建立视图,其一般格式为:CREATEVIEW<视图名>[(<列名>[,

<列名>]…)]AS<子查询>[WITHCHECKOPTION];3.2.2试图定义2试图创建[例]建立计算机系学生的视图。CREATEVIEWStudent_CSASSELECT*FROMStudentWHE

RESdept='计算机';3.2.2试图定义2试图创建[例]建立英语课(1156)成绩单的视图。CREATEVIEWEnglish_Grade(Sno,Sname,Grade)ASSELECTStuden

t.Sno,Sname,GradeFROMStudentJOINSCONStudent.Sno=SC.SnoANDSC.Cno='1156';3.2.2试图定义2试图创建[例]建立英语课的成绩在80分以上的学生的视图。C

REATEVIEWEnglish_Grade_80ASSELECTSno,Sname,GradeFROMEnglish_GradeWHEREGrade>=80;3.2.2试图定义3删除视图当不再需要一个视图

时,可以删除它,语句格式为:DROPVIEW<视图名>[例]删除视图Student_CSDROPVIEWStudent_CS;3.3SQL操作语言1插入操作2修改操作3删除操作3.3.1插入操作1、插入操作插入语句的格式是:INSERTINTO<表名>[(<属性列1>[,<属

性列2>…])VALUES(<常量1>[,<常量2>]…);3.3.1插入操作[例]将学生王林的信息插入到Student表中。INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('2

000012','王林','男','计算机',19);INTO子句指定Student表和要赋值的列,VALUES子句对元组的各列赋值。3.3.1插入操作[例]在表Course中增加课程离散数学的信息。INSERTINTOCourse(Cno,Cna

me,Cpno,Ccredit)VALUES('1136','离散数学',NULL,4);符号NULL的含义是赋予该列的值是空值。3.3.2修改操作2、修改操作修改操作又称为更新操作,语句的一般格式是:UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE

<条件>];3.3.2修改操作[例]将学号为2000012的学生的年龄改为18岁。UPDATEStudentSETSage=18WHERESno='2000012';[例6]将所有学生的年龄增加1岁。UPD

ATEStudentSETSage=Sage+1;3.3.3删除操作3、删除操作语句的一般格式为:DELETEFROM<表名>[WHERE<条件>];3.3.3删除操作[例]删除学号为2000012的学生记录。DELETEFROMStudentWHERESno='200

0012';[例]删除所有的学生选课记录。DELETEFROMSC;3.4SQL查询语音•1.查询基本结构概述•2.查询子句概述•3.SELECT列表•4.FROM子句•5.WHERE子句3.4.1查询基本结构概述•查询基本结构概述:–SELECT列表:指定列[FROM指定表

][WHERE指定行]•语义:–Select子句中的属性列表,对上述结果作投影(π)操作。–From子句:对指定关系,作笛卡儿积(×)–Where子句:进行选择(σ)运算,找出符合条件的元组。–3.4.2查询子句概述•SELECT子句指定您要检索的列。•FROM子句指定从中请求列的表。在所有

从表中检索数据的查询中都需要该子句。•ON子句指定FROM子句中的表将如何进行连接。该子句只用于多表查询。•WHERE子句指定表中您要查看的行。•GROUPBY子句用于集合数据。•HAVING子句指定要在其上收集集合数据的行。•OR

DERBY子句对结果集中的行进行排序。3.4.3SELECT列表•1从表中选择所有列–SELECTdistinct*FROMtable-expression•2从表中选择特定的列–SELECTdept_id,dept_nameFROMdepartment•3重命名

查询结果中的列–SELECTcolumn-nameASalias–SELECTcolumn-namealias•4查询结果中显示字符串–select'thefirstnameis'as“”,first_namefromemployees;•5计算SELECT列

表中的值–SELECTfirst_name,salary-10AS"salaryaftertax"FROMemployees;3.4.4FROM子句•直接使用表名–FROMtable_name•使用相关名–您可以赋予表名一个相关名以减少需要键入的字符。您可以在FROM子句中指

派相关名,方法是在表名之后键入该相关名,如下所示:–SELECTd.dept_id,d.dept_nameFROMDepartmentd•FROM子句包括链接两个或多个表的表名3.4.5WHERE子句•比较–WHEREsalar

y>50000•范围–WHEREsalaryBETWEEN40000AND60000•列表–WHEREstationIN(‘beijing',‘shanghai',‘jinan')•字符匹配–WHEREphoneLIKE'415%'•未知值–WHEREfirst_nameisnotNULL•组合

–WHEREsalary>50000ANDfirst_namelike'A%'3.5SQL的基本语言元素•数据类型•数值常量•数据格式化•空值3.5.1数据类型•数据类型自动转换规则–INSERT\UPDATE语句中,数据值按照字段的类

型进行转换–SELECT语句中,字段值按照定义的变量类型转换–比较字符数值与数字数值时,将字符数值转换为数字–比较字符数值与日期数值时,将字符数值转换为日期–赋值语句中,一般将等号右边的变量转换为左边的数据类型–……3.5.1数据类型•字符自动转换–

SELECTsalary+’10’FROMemployees;–SELECTlast_nameFROMemployeesWHEREemployee_id=‘200’;–SELECTlast_nameFROMemployeesWHEREhiredate

=‘1982-01-23’;3.5.2数值常量•字符常量–‘Hello’–’ORACLE’–’09-MAR-98’•数字常量–25–+6.34–0.5–25e-03–-13.5.3数据格式化•字符串格式化–CAST(expressionASdata_t

ype)–CONVERT(data_type[(length)],expression[,style])•日期格式化–字符串转日期Selectcast('2009-01-01'asdatetime)–日期格式转换Se

lectCONVERT(varchar(100),GETDATE(),0)3.5.4NULL(空)•Null:表明记录的字段中不包含任何值(空)•目前将‘’等同于Null(ORACLE)•条件中的NULL–IfA

is:ConditionEvaluatesto:–10aISNULLFALSE–10aISNOTNULLTRUE–NULLaISNULLTRUE–NULLaISNOTNULLFALSE–10a=NULLUNKNOWN–10a!=NULLUNKNOWN3.6SQL的操作符•操作符

介绍–一元操作符–二元操作符–多元操作符•算术运算符•连接运算符•组合操作符3.6.1算数运算符•运算符举例•+-SELECT*FROM•WHEREquantity=-1;••SELECThire_dateFROMemployeesW

HEREconvert(int,GETDATE()-hire_date,1)>365;•*/UPDATEemployeesSETsalary=salary*1.1;3.6.2连接运算符•连接运算符:+•Example:–CREATETABLEtab1(col1

VARCHAR(6),col2CHAR(6),col3VARCHAR(6),col4CHAR(6));–INSERTINTOtab1(col1,col2,col3,col4)VALUES('abc','def','ghi','jkl');–SELECTcol1+col2+col3+col

4"Concatenation"FROMtab1;–------------------------–Abcdefghijkl3.6.3组合操作符•将两个或多个查询的结果组合到一个结果集中–操作符返回结果–UNION组合查询的结果(不重复)–UNIONALL组合查询

的全部结果–INTERSECT组合查询的共有结果–MINUS对第一个查询取唯一记录,对共有记录不返回3.6.3组合操作符•举例:–createtablea1(t1char(1),t2char(2));–createtablea2(

t01char(1),t02char(2));–insertintoa1(t1,t2)values('1','11');–insertintoa1(t1,t2)values('2','22');–insertintoa2(t01,t02)values('2','22');–insertinto

a2(t01,t02)values('3','33');–selectt01,t02froma2–Union–selectt1,t2froma1;3.7SQL表达式•SQL表达式的应用范围–Select[expr]、

where[expr]、having[expr]–Orderby[expr]–insert的values()、update的set[expr]•SQL表达式的形式–简单表达式、复合表达式、CASE表达式–D

atetime表达式、间隔表达式–变量表达式、表达式列表3.7.1SQL简单表达式•举例–Select[Employees.]first_namefromEmployees–Select1fromEmployeeswherefirst_name=‘w’–Select‘anystring’fr

omEmployeeswhere…3.7.2SQL复合表达式•举例–(’CLARK’+’SMITH’)–LEN(’MOOSE’)*57–SQRT(144)+723.7.3CASE表达式•CASE表达式让你可以在SQL

中使用IF…ELSE…ENDIF的逻辑•Example–SELECTsno,CASEWHENgrade>85THEN'high'–WHENgrade<70THEN'low'–ELSE'medium'END–FROMSC;3.7.4间

隔表达式•举例–SELECTdatediff(year,getdate(),scome)fromstudent;–SELECTyear(getdate())–year(scome)fromstudent;3.7.5表达式列表•

Examples–1.Insertintoexployees(first_name,last_name)values(‘Michael’,’Jordan’);–2.SELECT*FROMemployeesWHERE(first_name,last_name)IN((’Gu

y’,’Himuro’),(’Karen’,’Colmenares’));3.8SQL条件•SQL条件的应用范围–Select的WHERE和HAVING子句–Delete和update的WHERE子句•SQL条件的形式–比较条件、逻辑条件、成员条件–

范围条件、NULL条件、LIKE条件–复合条件3.8.1比较条件•条件类型Example–>,<,>=,<=SELECT*FROMemployeesWHEREsalary>=2500;–ANY,SOMESELECT*FROMemployeesWHEREsal

ary=ANY(SELECTsalaryFROMemployeesWHEREdepartment_id=30);–ALLSELECT*FROMemployeesWHEREsalary>=ALL(1400,3000);3.8.2逻辑条件

–逻辑类型Example–NOTSELECT*FROMemployeesWHERENOT(job_idISNULL);SELECT*FROMemployeesWHERENOT(salaryBETWEEN1000AND2000);AND\ORSELECT*FROMemployeesWHEREjob_

id=’PU_CLERK’AND[OR]department_id=30;3.8.3成员条件–类型Example–INSELECT*FROMemployeesWHEREjob_idIN(’PU_CLERK’,’SH_CLERK’);S

ELECT*FROMemployeesWHEREsalaryIN(SELECTsalaryFROMemployeesWHEREdepartment_id=30);NOTINSELECT*FROMemployeesWHEREjob_idNOTIN(’PU_CLERK’,’SH_CLERK’);

3.8.4范围条件•类型Example[not]betweenXandySELECT*FROMemployeesWHEREsalaryBETWEEN2000AND3000;3.8.5NULL条件•类型ExampleIS[NOT]SELECTlast_n

ameNULLFROMemployeesWHEREsalaryISNULL;3.8.6LIKE条件•举例:•SELECTename•FROMemp•WHEREenameLIKE'A\_L%'•ESCAPE'\';类型X[not]LIKEy[escape‘

z’]3.8.7复合条件•通过()、not、and、or复合各类简单的条件•Example–Selectfirst_namefromemployees–Wherefirst_namelike‘m%’an

d–(salary>=2000ordepartment_idin(10,20));3.9功能函数•内部函数–单行函数–聚集函数•用户自定义函数3.9功能函数•常用的单行函数–数值函数•abs、sqrt、round、mod–字符函数•lower、upper、len、tri

m、substr–日期函数•Day,month,year,getdate,weekday,today–转换函数•Convert、cast3.9功能函数•常用的聚集函数–求平均:AVG–总计:COUNT–最大值:MAX–最小值:MIN–求总和:SUM3.10SQL查询和子查询•1.SQL查询举例•

2.SQL子查询–子查询简介–子查询的作用–WHERE子句中的子查询–FROM子句中的子查询–HAVING子句中的子查询3.10.1SQL汇总、分组与排序•SQL汇总:–应用了集合函数的每一组行生成一个值•举例:–SELECTavg(salary+1)FROM…–S

ELECTcount(distinctid)FROM…–SELECTsum(salary)FROM…–SELECTmax(salary)FROM…3.10.2SQL汇总、分组与排序•SQL分组:–GROUPBY字句,将表的输出划分为若干个组–举

例:•SELECTemployee_id,avg(salary)FROMemployeesGROUPBYemployee_id;3.10.2SQL汇总、分组与排序•WHERE子句与HAVING子句:–Where决定哪些元组被选择参加运算,作用于关系中的元组。–Ha

ving决定哪些分组符合要求,作用于分组。–聚合函数的条件关系必须用Having,Where中不应出现聚合函数。•举例:•SELECTdepartment_id,MIN(salary),MAX(salary)FROMemployeesGROUPBYdepartment_idHAVINGMI

N(salary)<5000;3.10.3SQL汇总、分组与排序•SQL排序:–对查询结果集的记录安装一个多个表达式排序–升序:ASC;降序:DESC;默认:升序•举例:–SELECT*FROMemployeesORDERBYfirst_name–SELECT

*FROMemployeesORDERBYdepartment_id,first_namedesc;3.10.4连接:从多个表查询数据•1连接:–通过使用来自两个或多个表(或多个视图)的信息,重新创建更大的表。–若要使连接有效,您必须组合每个表

的正确的列。–连接操作通过比较指定的列中的值来组合多个表中的行。3.10.4连接:从多个表查询数据•2连接方式:–内连接:INNERJOIN–外连接:OUTERJOIN•LEFT[OUTER]JOIN•R

IGHT[OUTER]JOIN•FULL[OUTER]JOIN–交叉连接:CROSSJOIN–自然连接:NATURALJOIN3.10.4连接:从多个表查询数据•3连接举例:–(1)内连接:•SELECTe.first_n

ame,d.department_name•FROMemployeeseJOINdepartmentsd•ONe.department_id=d.department_id;–等价于:•SELECTe.first_name,

d.department_name•FROMemployeese,departmentsd•wheree.department_id=d.department_id;3.10.4连接:从多个表查询数据•3连接举

例:–(2)外连接:–SELECTe.employee_id,d.department_NAMEFROMemployeeseLEFTJOINdepartmentdONe.department_id=d.department_id3.10.4连接:从多个表查询数据•3连接举例:–(3)

交叉连接:•SELECTe.first_name,d.department_name•FROMemployeeseCROSSJOINdepartmentsd;•SELECTe.first_name,d.de

partment_name•FROMemployeese,departmentsd;3.10.4连接:从多个表查询数据•3连接举例:–(4)自然连接:•SELECTe.first_name,d.departm

ent_name•FROMemployeeseNATURALJOINdepartmentsd;3.10.5子查询•简介–1.子查询的结构类似于常规查询,并且出现在主查询的SELECT、FROM、WHERE或HAVING子句中。–2.由于单一的表查询无

法满足现实系统业务的需要。子查询是满足该查询需求的一种解决方式。3.10.5子查询•使用–1插入INSERT或CREATETABLE语句的记录集–2确定UPDATESET子句的查询值–3确定SELECT,UPDATE,

DELETE语句中的Where、Having子句的值–4定义一个表,并在查询中使用3.10.5子查询•INSERTINTO语句子查询–复制表employees的数据到表employees1中–INSERTINTOemployees1•SELECTemployee_id,first_

name,last_name,salary*1.1–FROMemployees3.10.5子查询•复制表语句子查询–select*–intoemployees1–fromemployees3.10.5子查

询•UPDATE语句的SET子查询–UPDATEemployeesd•SETsalary=salary+(SELECTavg(e.salary)–FROMemployeese–WHEREe.department_id=d.department_id);3.10.5子查询•

Where子句中的子查询–SELECTfirst_name,salary•FROMemployees•WHEREsalary>(SELECTavg(e.salary)–fromemployeese);3.10.5子查询•定义一个查询表–SELECTa.depart

ment_id"Department",–a.num_emp/b.total_count"%_Employees",–a.sal_sum/b.total_sal"%_Salary"•FROM•(SELECTdepartment

_id,COUNT(*)num_emp,SUM(salary)sal_sum–FROMemployees–GROUPBYdepartment_id)a,•(SELECTCOUNT(*)total_count,SUM(salary)total_sal–FRO

Memployees)b;总结1.SQL是关系数据库的标准语言。从功能上可以划分为DDL(CREATE和DROP)、DML(INSERT、UPDATE、DELETE、SELECT)、DCL(GRANT和REV

OKE)。2.查询语句SELECT是SQL中常使用的语句。由SELECT、FROM、WHERE、GROUPBY、HAVING和ORDERBY子句构成。SELECT和FROM子句在每个SQL语句中都必须出现,其它子句可以根据实际情况选用。

总结3.SELECT语句的基本功能是经过横向和纵向操作,从一个表构造出另外一个新表,这个新表是查询的结果,是一个临时表。4.聚集函数的自变量的值不是单值,而是一个集合。SQL提供的聚集函数有COUNT、MAX、MIN、SUM、AVG。特别要注意的是,除了COUNT(*)函数以外,其它的聚集函数对

空值忽略不计。总结5.分组是将在分组列上有相同值的元组分配到同一组。分组是聚集函数的作用对象,可以把同一组的所有元组,或者每个元组在某一列上的值在作为聚集函数自变量的值。6.连接操作是一个二元操作符,它将两个表中的元组首尾相连,形成新表的一个元组。连接操作有交叉连接、条件连接和外连接三类。总结7

.SELECT语句的子句中出现了SELECT语句叫做嵌套查询或子查询。8.子查询可以出现在CREATE、INSERT、UPDATE和DELETE语句中。9.SQL语句可以直接使用也可嵌入到高级编程语言中使用课堂练习•找出所在部门在“CHIKAGO”,各个不同职位的平

均工资,且每个职位的人数在2人以上。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?