SELECT查询语句ppt课件_第1页
SELECT查询语句ppt课件_第2页
SELECT查询语句ppt课件_第3页
SELECT查询语句ppt课件_第4页
SELECT查询语句ppt课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-江阴职业技术学院计算机系江阴职业技术学院计算机系-Lecture 5 根本SELECT查询语句 -目的要求:掌握运用数据定义(DDL)定义数据库、数据表等对象。熟练掌握简单查询、嵌套查询、衔接查询、分组与计算查询、集合的并运算。-江阴职业技术学院计算机系江阴职业技术学院计算机系-构造化查询言语构造化查询言语(SQL) 构造化查询言语:一种数据库查询和编程言语,广泛运用构造化查询言语:一种数据库查询和编程言语,广泛运用于访问、查询、更新和管理关系数据库系统中的数据。于访问、查询、更新和管理关系数据库系统中的数据。 - SQL 全名是构造化查询言语全名是构造化查询言语Structured Que

2、ry Language,是用于数据库中的规范数据查询言语,是用于数据库中的规范数据查询言语,IBM 公司最早运用在其开发的数据库系统中。公司最早运用在其开发的数据库系统中。1986年年10月,美月,美国国 ANSI 对对 SQL 进展规范后,以此作为关系型数据库管理进展规范后,以此作为关系型数据库管理系统的规范言语,系统的规范言语,1987年得到国际规范组织的支持下成为年得到国际规范组织的支持下成为国际规范。国际规范。 - SQL言语包含言语包含3个部分:个部分: 数据定义数据定义(DDL)言语言语(如如CREATE, DROP,ALTER等语句等语句) 数据支配数据支配(DML)言语言语(S

3、ELECT,INSERT, UPDATE, DELETE语句语句) 数据控制言语数据控制言语(如如GRANT,REVOKE, ROLLBACK等语等语句句) -江阴职业技术学院计算机系江阴职业技术学院计算机系-数据定义言语 数据定义言语数据定义言语 (Data Definition Language, DDL) 是是SQL言语集中,担任数据构造定义言语集中,担任数据构造定义与数据库对象定义的言语,由与数据库对象定义的言语,由CREATE、ALTER与与DROP三个语法所组成。三个语法所组成。-江阴职业技术学院计算机系江阴职业技术学院计算机系-CREATE指令 CREATE是担任数据库对象的建立

4、是担任数据库对象的建立 CREATE DATABASE CREATE TABLE CREATE INDEX:创建数据表索引。:创建数据表索引。 CREATE PROCEDURE:创建存储过程。:创建存储过程。 CREATE FUNCTION:创建用户自定义函数。:创建用户自定义函数。 CREATE VIEW:创建视图。:创建视图。 CREATE TRIGGER:创建触发器。:创建触发器。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-ALTER指令 ALTER ALTER 是担任数据库对象修正的指令,例如:是担任数据库对象修正的指令,例如: ALTER TABLE Tb_Student

5、ADD column_b VARCHAR(20) NULL ; - 在数据表在数据表 Tb_Student中参与一个新的字段,中参与一个新的字段,称号为称号为 column_b,字段类型为,字段类型为 varchar(20),允许允许 NULL值。值。 ALTER TABLE Tb_Student DROP COLUMN column_b ; - 在数据表在数据表 Tb_Student中移除中移除 column_b 字字段。段。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-DROP指令 DROP DROP 那么是删除数据库对象的指令,并且只需那么是删除数据库对象的指令,并且只需求指定要

6、删除的数据库对象称号即可,在求指定要删除的数据库对象称号即可,在 DDL 语法中算是最简单的。语法中算是最简单的。 例如:例如: DROP TABLE MyTable; - 刪除刪除 MyTable 数据表。数据表。 DROP VIEW MyView; - 刪除刪除 MyView 视图。视图。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-数据支配言语 数据支配言语数据支配言语 (Data Manipulation Language) 是是SQL言语中,担任对数据库言语中,担任对数据库对象执行数据存取任务的指令集,以对象执行数据存取任务的指令集,以SELECT、INSERT、UPDATE

7、、DELETE四种指令为中心。四种指令为中心。 DML的主要功能即是存取数据,因此其语的主要功能即是存取数据,因此其语法都是以读取与写入数据库为主,除了法都是以读取与写入数据库为主,除了INSERT以外,其他三种指令都能够需搭配以外,其他三种指令都能够需搭配WHERE指令来过滤数据范围,或是不加指令来过滤数据范围,或是不加WHERE指令来存取全部的数据。指令来存取全部的数据。-江阴职业技术学院计算机系江阴职业技术学院计算机系-INSERT指令 INSERT 是将数据插入到数据库对象中的指令,可以插入数据的数据库对象有数据表以及可更新视图两种。 根本格式有: INSERT INTO 数据表或可更

8、新视图称号 (字段1,字段2,字段3, .) VALUES (值1, 值2, 值3, .) - 只需求根据对应的字段來设定插入值。 INSERT INTO 数据表或可更新视图称号 VALUES (值1, 值2, 值3, .) - 必須要指定一切字段的插入值。 例如: INSERT INTO MyTable (字段1,字段2,字段3,字段4,字段5) VALUES (1, 2, 3, 4, 5)-江阴职业技术学院计算机系江阴职业技术学院计算机系-UPDATE 指令 UPDATE 指令是依给定条件,将符合条件的数据表中的数据更新为新的数值,其根本格式为: UPDATE 数据表或可更新视图称号 SE

9、T 字段1=值1,字段2=值2,字段3=值3, . WHERE 指定条件 例如: UPDATE MyTable SET 字段1 = 3,字段2 = 5, 字段4 = 5 WHERE 字段3 = 198273 -江阴职业技术学院计算机系江阴职业技术学院计算机系-DELETE 指令 DELETE 指令从数据库对象中删除数据的指令,根本语法为: DELETE FROM 数据表或可更新视图称号 WHERE 给定条件 例如: DELETE FROM MyTable WHERE 字段3 = 1918299 值为字符时,加西文单引号。-江阴职业技术学院计算机系江阴职业技术学院计算机系-数据控制言语 数据控制

10、言语数据控制言语 (Data Control Language) 在在SQL言语中,言语中,是一种可对数据存取权进展控制的指令,它可以控制特定是一种可对数据存取权进展控制的指令,它可以控制特定用户对数据表、视图、存储过程、用户自定义函数等数据用户对数据表、视图、存储过程、用户自定义函数等数据库对象的控制权。由库对象的控制权。由 GRANT 和和 REVOKE 两个指令组成。两个指令组成。 GRANT 的语法构造为:的语法构造为: GRANT 权限权限 ON 要授予权限的数据库对象要授予权限的数据库对象 TO 用户用户 WITH 授权选项授权选项 DENY 的语法构造为:的语法构造为: DENY

11、 权限权限 ON 要回绝权限的数据库对象要回绝权限的数据库对象 TO 用户用户 权限可以是权限可以是INSERTUPDATE等,参见教材等,参见教材p230-江阴职业技术学院计算机系江阴职业技术学院计算机系-Select 查询-江阴职业技术学院计算机系江阴职业技术学院计算机系-简单Select 查询 语法: SELECT 字段1,字段2, FROM 表名 SELECT * FROM 表名 SELECT 字段1,字段2, FROM 表名 WHERE 查询条件 SELECT * FROM 表名 WHERE 查询条件 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它

12、们分别阐明所查询列、查询的表或视图、以及搜索条件等。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-简单Select 查询SELECT StuId,StuName,DeptId,Sex FROM Tb_StudentSELECT * FROM Tb_Student-江阴职业技术学院计算机系江阴职业技术学院计算机系-简单Select 查询SELECT StuId,StuName,DeptId,Sex FROM Tb_Student WHERE Sex=FSELECT * FROM Tb_Teacher WHERE Sex=F and DeptId= 08 -江阴职业技术学院计算机系江阴职业

13、技术学院计算机系-WHERE子句运用的运算符类别类别运算符运算符说明说明比较运算符=、=、=、比较两个表达式逻辑运算符AND、OR、NOT组合两个表达式的运算结果或取反范围运算符BETWEEN、NOT BETWEEN查询值是否在范围内列表运算符IN、NOT IN查询值是否属于列表值之一字符匹配符LIKE、NOT LIKE字符串是否匹配未知值IS NULL、IS NOT NULL查询值是否为NULL-江阴职业技术学院计算机系江阴职业技术学院计算机系-比较运算符和表达式 运运 算算 符符含含 义义=等于大于=大于等于=小于等于不等于SELECT * FROM Tb_Student WHERE St

14、uName张三SELECT * FROM Tb_Student WHERE Sex= F-江阴职业技术学院计算机系江阴职业技术学院计算机系-逻辑运算符和表达式 运算符运算符含含 义义AND如果两个布尔表达式都为 TRUE,那么就为 TRUEOR如果两个布尔表达式中的一个为 TRUE,那么就为 TRUENOT对任何其他布尔运算符的值取反SELECT * FROM Tb_Student WHERE Sex= M and Sex= FSELECT * FROM Tb_Student WHERE ClassId= S040201901 and Sex= FSELECT * FROM Tb_Studen

15、t WHERE NOT Sex= M-江阴职业技术学院计算机系江阴职业技术学院计算机系-范围搜索运算符和表达式 SELECT * FROM Tb_Student WHERE Age BETWEEN 20 TO 22-SELECT * FROM Tb_Student WHERE Age NOT BETWEEN 20 TO 22-SELECT * FROM Tb_Student WHERE Age IN (20,21,22)-相当于 SELECT * FROM Tb_Student WHERE Age=20 OR Age=21 OR Age=22类别类别运算符运算符说明说明范围运算符BETWEEN

16、、NOT BETWEEN查询值在范围内列表运算符IN、NOT IN查询值属于列表值之一-江阴职业技术学院计算机系江阴职业技术学院计算机系-方式匹配运算符和表达式 SELECT * FROM Tb_Student WHERE StuName LIKE 张%通配符通配符说明说明示例示例%匹配零个或多个字符的任意字符串。LIKE %林% 姓名中包含有“林”的信息。_下划线匹配任何单个字符。一个汉字只使用一个_表示LIKE 林_ 姓名第一个字为“林”并且名字只有两个字。 匹配指定范围 (a-f) 或集合(abcdef) 中的任何单个字符。LIKE 张王% 姓张或姓王的信息。匹配不属于指定范围 (a-f

17、) 或集合 (abcdef) 中的任何单个字符。LIKE 王林% 姓王且第二个字不是林的信息。SELECT * FROM Tb_Student WHERE StuName NOT LIKE 张三-江阴职业技术学院计算机系江阴职业技术学院计算机系-未知值条件 NULL表示未知的,不可用或将在以后添加的数据。NULL值与零、零长度的字符串的含义不同。 在WHERE子句中,运用IS NULL或IS NOT NULL条件可以查询某一数据值能否为NULL的数据信息。 例如:SELECT * FROM Tb_Grade WHERE RetestScore IS NOT NULLSELECT * FROM

18、Tb_CourseWHERE CourseName IS NULL-江阴职业技术学院计算机系江阴职业技术学院计算机系-字符串运算符和表达式 字符串表达式是用字符串衔接符将字符型常量、变量、字符串函数衔接组成的式子。字符串表达式的计算结果包括两个字符串内的空格和一切字符,依然是字符型。 如 我爱+ 我家 表达式的值为: 我爱 我家 - 例如:+ Huanying + Ning! 请写出结果!-江阴职业技术学院计算机系江阴职业技术学院计算机系-运算符的优先级 运算符的优先级决议了表达式的计算和比较操作顺序。 运算符的优先级由高到低的顺序为: 1括号:。 2正、负或取反运算:+、-、。 3乘、除、求

19、模运算:*、/、。 4加、减、字符衔接运算:+、-、+。 5比较运算:、!、!、!。 6位运算:、|。 7逻辑非运算:NOT。 8逻辑与运算:AND。 9 BETWEEN、IN、LIKE、OR等运算。 10赋值运算:。-江阴职业技术学院计算机系江阴职业技术学院计算机系-ORDER BY子句 运用SELECT语句进展数据查询,为了按一定顺序阅读数据,可以运用ORDER BY子句对生成的查询结果进展排序。ORDER BY子句在SELECT语句中的语法格式如下:- SELECT 字段1,字段2, FROM 表名 WHERE 查询条件 ORDER BY 排序表达式 ASC | DESC-江阴职业技术学

20、院计算机系江阴职业技术学院计算机系-ORDER BY子句SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuNameSELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName DESC-江阴职业技术学院计算机系江阴职业技术学院计算机系-ORDER BY子句SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName,Sex 结果如何?-江

21、阴职业技术学院计算机系江阴职业技术学院计算机系- ORDER BY子句 ORDER BY子句总是位于WHERE子句假设有的话后面,可以包含一个或多个列,每个列之间以逗号分隔。这些列能够是表中定义的列,也能够是SELECT子句中定义的计算列。 - 在SQL Server 2019中,汉字比其它字符值都要大,而汉字之间的大小比较是取决于其拼音首字母的大小。 假设没有特别阐明,值是以升序序列进展排序的。当然,他也可以选择运用ASC关键字指定升序排序。 - 假设他希望以降序陈列,那么在ORDER BY后面运用DESC关键字。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-GROUP BY 子句

22、运用SELECT语句进展数据查询,为了按特定条件分组阅读数据,可以运用GROUP BY子句对某一列数据的值进展分类,构成结果集。GROUP BY子句在SELECT语句中的语法格式如下:- SELECT 字段1,字段2, FROM 表名 WHERE 查询条件 GROUP BY 字段1,字段2, WITH ROLLUP | CUBE ORDER BY 排序表达式 ASC | DESC- CUBE 生成的结果集显示了所选列中值的一切组合包括字段1、字段2、字段1+字段2的分组统计结果和总的汇总统计的聚合;ROLLUP生成的结果集显示了所选列中值的某一层次构造的聚合。包括字段1、字段1+字段2的分组统

23、计结果和总的汇总统计的聚合-江阴职业技术学院计算机系江阴职业技术学院计算机系-聚合函数 聚合函数是SQL言语中一种特殊的函数,比如SUM, COUNT, MAX, MIN, AVG等。这些函数和其它函数的根本区别就是它们普通作用在多条记录上。换句话说,上面几个返函数的值建立在对多条记录进展统计的根底上。 SUM是求和函数。 SELECT ClassId,SUM(Score) FROM Tb_Grade WHERE ClassId=S0408011 COUNT函数用来计算记录的数量。 Select COUNT(StuID) FROM Tb_Grade WHERE ClassId=S0408011

24、 MAX, MIN, AVG函数分别是用来求最大值、最小值和平均值。 SELECT MAX(Score), MIN(Score), AVG(Score) FROM Tb_Grade WHERE ClassId=S0408011-江阴职业技术学院计算机系江阴职业技术学院计算机系-GROUP BY 子句 常用统计函数函数名功能COUNT求组中项数SUM求和,返回表达式中所有值的和AVG求均值,返回表达式中所有值的平均值MAX求最大值,返回表达式中所有值的最大值MIN求最小值,返回表达式中所有值的最小值ABS求绝对值,返回表达式的绝对值ASCII求ASCII码,返回字符型数据的ASCIIRAND产生

25、随机数,返回一个位于0和1之间的随机数-江阴职业技术学院计算机系江阴职业技术学院计算机系-GROUP BY子句-显示每个学生的班级编码和成果SELECT ClassId,TotalScore FROM Tb_Grade-汇总每个班级的平均成果SELECT ClassId,AVG(TotalScore)FROM Tb_GradeGROUP BY ClassId-江阴职业技术学院计算机系江阴职业技术学院计算机系-SELECT ClassId,ClassName,AVG(TotalScore)FROM Tb_Grade,Tb_ClassGROUP BY ClassIdGROUP BY子句-汇总每个班

26、级含班级称号的平均成果?SELECT ClassId,ClassName,AVG(TotalScore)FROM Tb_GradeGROUP BY ClassId-SELECT Tb_Grade.ClassId,ClassName,AVG(TotalScore)FROM Tb_Grade,Tb_ClassWHERE Tb_Grade.ClassId=Tb_Class.ClassIdGROUP BY Tb_Grade.ClassId-江阴职业技术学院计算机系江阴职业技术学院计算机系-GROUP BY子句 -显示班级称号的汇总各班平均成果显示班级称号的汇总各班平均成果 SELECT Tb_Grad

27、e.ClassId,ClassName,AVG(TotalScore) AS AvgScore FROM Tb_Grade,Tb_Class WHERE Tb_Grade.ClassId=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,ClassName当两个表中都有ClassId字段时,要加上表前缀,阐明是那个表的ClassId字段SELECT列表中出现的字段都必需求在GROUP BY列表中出现,聚合函数字段除外当要显示相关主键表中的其它字段时,如这儿的ClassName字段,那么在WHERE子句中经过主外键关系进展衔接-江阴职业技术学院计算机系江阴职业

28、技术学院计算机系-GROUP BY 子句 查询各个班级的最大成果和最小成果? SELECT Tb_Grade.ClassId,ClassName,MAX(TotalScore) AS MaxScore, MIN(TotalScore) AS MinScore FROM Tb_Grade,Tb_Class WHERE Tb_Grade.ClassId=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,ClassName-江阴职业技术学院计算机系江阴职业技术学院计算机系-GROUP BY 子句 GROUP BY分类汇总,分项统计紧跟在GROUP BY后面的字段就

29、是分组条件。 假设在前面选择列表中出现的非聚合字段未出如今GROUP BY后面,SQL语句就会出错。思索题: 按照不同班级和性别统计学生平均年龄。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-HAVING子句 HAVING子句相当于一个用于组分类汇总的WHERE子句,它指定了组或聚合的查询条件。HAVING子句通常与GROUP BY子句一同运用。HAVING子句的语法为: - SELECT 字段1,字段2, FROM 表名 WHERE 查询条件 GROUP BY字段1,字段2, HAVING 组查询条件-江阴职业技术学院计算机系江阴职业技术学院计算机系-HAVING子句 显示各班级学生

30、平均总成果大于显示各班级学生平均总成果大于73的班级编号。的班级编号。 SELECT Tb_Grade.ClassId, AVG(TotalScore) AS AvgScore FROM Tb_Grade GROUP BY Tb_Grade.ClassId HAVING AVG(TotalScore)73-江阴职业技术学院计算机系江阴职业技术学院计算机系-HAVING子句 求各个班级的最大成果和最小成果,且最低成果小于50分的? SELECT Tb_Grade.ClassId, MAX(TotalScore) AS MaxScore, MIN(TotalScore) AS MinScore F

31、ROM Tb_Grade GROUP BY Tb_Grade.ClassId HAVING MIN(TotalScore)50-江阴职业技术学院计算机系江阴职业技术学院计算机系-HAVING子句 HAVING子句用来对分组后的数据进展挑选,它后面会跟一个条件表达式。 当在GROUP BY 子句中运用HAVING子句时,查询结果中只前往满足HAVING条件的组。-江阴职业技术学院计算机系江阴职业技术学院计算机系-SELECT语法总结 SELECT select_list FROM table_list WHERE search_conditions GROUP BY group_by_list

32、HAVING search_conditions ORDER BY order_list ASC | DESC 上述“ 表示可选项,“ | 表示取其中之一。-江阴职业技术学院计算机系江阴职业技术学院计算机系-计算列 SELECT后面还可以是计算列。在SELECT后面的计算列,只是位于该SELECT语句中,是暂时性的,它由一个表达式产生。 SELECT StuId, StuName+(+Sex+) FROM Tb_Student 上面语句中的StuName+(+Sex+)就构成了一个计算列,它的值由两个字符型值和一对括号衔接组成。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-列别名 在上

33、面的结果集中,列名都是英文。这样看上去很不直观,我们希望可以给列名换上诸如“学号、姓名等这样的名字。只需在SELECT语句中,给列取个别名即可。AS可以省去。 SELECT StuId AS 学号, StuName+ (+Sex+) AS 姓名性别 FROM Tb_Student SELECT StuId 学号, StuName+ (+Sex+) 姓名性别 FROM Tb_Student SELECT 学号=StuId,姓名性别=StuName+(+Sex+) FROM Tb_Student-江阴职业技术学院计算机系江阴职业技术学院计算机系- 当然,我们也可以给表指定列别名,给表取别名和给列取

34、别名类似,但只可以用 “原始表名 AS 别名和 “原始表名 别名这两种方式。 SELECT * FROM Tb_Student ST 或者 SELECT * FROM Tb_Student AS ST - 字段别名不能放在WHERE子句中,而表别名可以放在WHERE子句中。 表别名-江阴职业技术学院计算机系江阴职业技术学院计算机系-多表查询-江阴职业技术学院计算机系江阴职业技术学院计算机系- 查询全院各系部拥有班级的根本情况,显示系部称号、班级编码和班级称号; 多表查询-江阴职业技术学院计算机系江阴职业技术学院计算机系- USE Teaching_System GO SELECT d.*, c

35、.* FROM Tb_Class AS c, Tb_Dept AS d 多表查询-江阴职业技术学院计算机系江阴职业技术学院计算机系- 笛卡尔乘积多表查询-江阴职业技术学院计算机系江阴职业技术学院计算机系-多表查询-江阴职业技术学院计算机系江阴职业技术学院计算机系-多表查询-江阴职业技术学院计算机系江阴职业技术学院计算机系- USE Teaching_System GO SELECT d.*, c.* FROM Tb_Class AS c, Tb_Dept AS d WHERE c.DeptId=d.DeptId多表查询-江阴职业技术学院计算机系江阴职业技术学院计算机系-多表查询 SELECT

36、StuId,StuName,DeptId,SpecId,ClassId,Sex FROM Tb_Student SELECT StuId 学号,StuName 姓名,DeptId 系部,SpecId 专业,ClassId 班级,Sex 性别 FROM Tb_Student-江阴职业技术学院计算机系江阴职业技术学院计算机系-两表衔接 SELECT StuId 学号,StuName 姓名,DeptName 系部, SpecId 专业,ClassId 班级,Sex 性别 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId-江阴职业技术学院计

37、算机系江阴职业技术学院计算机系-多表衔接根底 在实践查询运用中,用户所需求的数据并不全部在一个表中,这时就需求多表查询,从多个表中抽取我们所需求的数据信息。 多表查询实践上是经过各个表之间的共同列的相关性主外键关系来查询数据的,这是关系数据库查询数据的主要特征。 多表查询首先要用WHERE子句在表之间建立衔接关系。 在进展多表查询时,可以遵照以下根本原那么: 1SELECT子句列表中,字段前要加上基表称号; 2FROM子句应包括一切运用的基表; 3WHERE子句应在表之间建立衔接关系。-江阴职业技术学院计算机系江阴职业技术学院计算机系-两表衔接 SELECT StuId 学号,StuName

38、姓名,DeptId 系部编码, DeptName 系部, SpecId 专业,ClassId 班级,Sex 性别 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId SELECT StuId 学号,StuName 姓名, TS.DeptId 系部编码, DeptName 系部, SpecId 专业,ClassId 班级,Sex 性别 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId-江阴职业技术学院计算机系江阴职业技术学院计算机系-多表衔接 SELECT StuId 学号,

39、StuName 姓名,DeptName 系部, SpecName 专业,ClassName 班级,Sex 性别 FROM Tb_Student TS,Tb_Dept TD,Tb_Spec TSP, Tb_Class TC WHERE TS.DeptId=TD.DeptId AND TS.SpecId=TSP.SpecId AND TS.ClassId=TC.ClassId要求显示学生姓名和所在系名、专业、班级称号?-江阴职业技术学院计算机系江阴职业技术学院计算机系-各种衔接查询 内衔接:内衔接是一种常用的数据衔接查询方式。内衔接:内衔接是一种常用的数据衔接查询方式。它运用比较运算符进展多个表之

40、间的比较衔接操它运用比较运算符进展多个表之间的比较衔接操作。内衔接会消除与另一个表的任何不匹配的数作。内衔接会消除与另一个表的任何不匹配的数据行。据行。 外衔接:外衔接会前往外衔接:外衔接会前往FROM子句中提到的至少子句中提到的至少一个表的一切符合查询条件的数据行包括衔接一个表的一切符合查询条件的数据行包括衔接中不匹配的数据行,外衔接分为左外衔接、右中不匹配的数据行,外衔接分为左外衔接、右外衔接和完全衔接。外衔接和完全衔接。 交叉衔接:当对两个表运用交叉衔接查询时,将交叉衔接:当对两个表运用交叉衔接查询时,将前往来自这两个表的各行的一切能够的数据行组前往来自这两个表的各行的一切能够的数据行组

41、合。合。 自衔接:表本身的链接参见教材自衔接:表本身的链接参见教材p119。-江阴职业技术学院计算机系江阴职业技术学院计算机系-两个样例表 SELECT * FROM Tb_Dept SELECT ClassId,ClassName,DeptId FROM Tb_Class-江阴职业技术学院计算机系江阴职业技术学院计算机系-内衔接 SELECT DeptName 系部称号, ClassId 班级编码, ClassName 班级称号 FROM Tb_Dept INNER JOIN Tb_Class ON Tb_Class.DeptId=Tb_Dept.DeptId等同于:等同于:SELECT D

42、eptName 系部称号系部称号, ClassId 班级编码班级编码, ClassName 班级称号班级称号FROM Tb_Class,Tb_Dept WHERE Tb_Dept.DeptId=Tb_Class.DeptId-江阴职业技术学院计算机系江阴职业技术学院计算机系-外衔接-左外衔接 SELECT DeptName 系部称号, ClassId 班级编码, ClassName 班级称号 FROM Tb_Dept LEFT OUTER JOIN Tb_Class ON Tb_Dept.DeptId=Tb_Class.DeptId 左边表中列全显示-江阴职业技术学院计算机系江阴职业技术学院计

43、算机系-外衔接-右外衔接 SELECT DeptName 系部称号, ClassId 班级编码, ClassName 班级称号 FROM Tb_Dept RIGHT OUTER JOIN Tb_Class ON Tb_Dept.DeptId=Tb_Class.DeptId 右边表中列全显示-江阴职业技术学院计算机系江阴职业技术学院计算机系-外衔接-完全衔接 SELECT DeptName 系部称号, ClassId 班级编码, ClassName 班级称号 FROM Tb_Dept FULL OUTER JOIN Tb_Class ON Tb_Dept.DeptId=Tb_Class.Dept

44、Id-江阴职业技术学院计算机系江阴职业技术学院计算机系-交叉衔接 SELECT DeptName 系部称号, ClassId 班级编码, ClassName 班级称号 FROM Tb_Dept CROSS JOIN Tb_Class-江阴职业技术学院计算机系江阴职业技术学院计算机系-交叉衔接不运用WHERE子句时,前往的结果是一个根本表中符合条件的行数乘以另一个根本表中符合条件的行数。运用WHERE子句时,前往的结果是被衔接的两个根本表一切行的笛卡尔积中满足WHERE条件的一切行的行数。参见教材p118-江阴职业技术学院计算机系江阴职业技术学院计算机系-结合查询UNION 假设有多个不同的查询

45、结果,但又希望将这些查询结果放在一同显示,组成一组数据。在这种情况下,可以运用UNION子句。运用UNION子句的查询又称为结合查询,它可以将两个和多个查询结果集组合成为单个结果集。语法如下: SELECT select_list FROM table_list WHERE search_conditions UNION ALL SELECT select_list FROM table_list WHERE search_conditions 其中,ALL关键字为可选的,假设在UNION子句中运用该关键字,那么前往全部数据行;假设不运用该关键字,那么前往结果中删除反复数据行。-江阴职业技术学

46、院计算机系江阴职业技术学院计算机系-结合查询UNION SELECT * FROM Tb_Spec WHERE SpecId08 UNION SELECT StuId,StuName,Sex FROM Tb_Student WHERE ClassIdS0408011-江阴职业技术学院计算机系江阴职业技术学院计算机系-章节综合练习 每个学年终了,班主任都要对班级学生成果进展分析,然后初定学年奖学金获得者的人选。让我们运用数据库查询的知识协助04网络1班的班主任刘教师完成以下两个义务:根据学院奖学金评选规定,初定获奖学金学生名单;每位同窗的课程平均成果必需高于75分对该班级开设的各门课程分别进展成果分析。显示课程编号、学生学号和成果的明细并分别汇总每门课程的平均成果。 -江阴职业技术学院计算机系江阴职业技术学院计算机系-章节综合练习-江阴职业技术学院计算机系江阴职业技术学院计算机系-义务一 USE Teach

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论