文档详情

关系数据库基本原理-SQL语言(打印).ppt

发布:2025-03-24约1.2万字共94页下载文档
文本预览下载声明

SQL的数据查询*SELECT语句的完整结构应用示例SelectTno,C.Cno,COUNT(Sno)as选修人数FromC,SCWhereC.Cno=SC.CnoGroupByTno,C.CnoHavingCOUNT(*)=3OrderBy3DESC,Tno,C.CnoDESCSQL的数据查询*SELECT语句的完整结构[GROUPBY列名序列[HAVING组条件表达式]]作用1)数据按GROUPBY子句列名序列中的列值进行分组2)组内数据按SELECT子句中的聚合函数进行计算3)提取满足HAVING子句的条件表达式值的分组注意HAVING子句支持聚合函数WHERE子句不支持聚合函数SELECT子句只能取聚集函数 或GROUPBY子句指的列?SQL的数据查询*SELECT语句的完整结构[ORDERBY列名︱列序号[ASC︱DESC][{,列名︱列序号[ASC︱DESC]}]对查询结果按子句中指定列的值排序,如果ORDERBY后有多个列名先按第一列名值排序再对于第一列值相同的行,按第二列名值排序依次类推……列序号是在SELECT子句中出现的序号(选的列是聚集函数或表达式时)ASC表示升序,DESC表示降序,缺省时表示升序SQL的数据查询*SELECT语句的完整结构应用示例问:在使用聚合函数进行数据统计时,为什么有的语句使用了GroupBy子句,有的没有?什么情况下,应该有?可以没有?SQL的数据查询*查询中的限制和规定Select子句的规定子句描述查询输出的表格结构,即输出值的列名或表达式格式SELECT[ALL︱DISTINCT]列名或列表达式序列︱*释义All︱Distinct,[保留︱消除]查询结果中的重复行*是对From子句中表的所有列的简写列表达式列名、常量、算数运算符、函数、聚合函数SQL的数据查询*查询中的限制和规定别名用关键字AS为列、表、表达式起别名,AS可以省略集合运算(Select查询1)UNION[ALL](Select查询2)(Select查询1)INTERSECT[ALL](Select查询2)(Select查询1)EXCEPT[ALL](Select查询2)备注并交差运算的前提:相同的关系模式关键字ALL,表示保留运算后的重复元组SQL的数据更新*数据插入说明若插入的元组值,其属性个数、次序和域,与表结构的定义一致,则列名表可以省略否则需要列名表,且列名表的属性个数和次序,需与待插入值一一对应数据插入受关系完整性约束的制约数据类型实体完整性:主键值唯一,非空参照完整性:不允许引用不存在的实体用户自定义的完整性SQL的数据更新*数据插入示例InsertIntoS(Sno,Sname,Age,Sex,NativePlace) Values(S5,GU,20,M,NULL);InsertIntoSValues(S5,GU,20,M,NULL);InsertIntoS(Sno,Sname,Age,Sex) Values(S5,GU,20,M);InsertIntoS(Sname,Sno,Sex,Age) Values(GU,S5,M,20);InsertIntoSC(S#,C#)Values(S5,C8);InsertIntoSCValues(S5,C8,NULL);SQL的数据更新*数据插入示例InsertIntoS_Grade(S#,AVG_Grade) SelectSno,AVG(Grade)FromSC WhereSnoin(SelectSnoFromSWhereSex=M) GroupBySno HavingAVG(Grade)>80;InsertIntoSC(Sno,Cno)TABLESC4;SQL的数据更新*数据插入示例,问:InsertIntoSCValues(S4,C569,105);InsertIntoSCValues(‘S4’,‘C5’,105);SQL的数据更新*数据插入示例,问:InsertIntoSCValues(‘S4’,‘C5’,95);InsertIntoSCValues(‘S4’,‘C4’,95);如图示4条相关数据的插入顺序是什么?SQL的数据更新*数据删除句法1

显示全部
相似文档