- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题五 三、应用题 6.针对上面的三个表,利用SELECT查询下列问题: (1)查询所有学生的基本信息,并按学号排序。 (2)查询所有女学生的信息。 (3)求女学生的人数。 (4)查询所有男学生的姓名、出生日期、年龄。 习题五 三、应用题 6.针对上面的三个表,利用SELECT查询下列问题: (5)查询所有学生的学号、姓名、选修课程名称和成绩。 (6)查询某个指定姓名的学生的成绩。 (7)查询不及格学生的学号,姓名,所学的课程名及成绩。 (8)按课程号进行分组,求每门课程选修的人数。 5.4.10 连接查询 2.内连接 内连接使用比较运算符进行表间某(些)列的比较操作,并列出与连接条件匹配的数据行。 比较运算符有=、、、=、=、!=、、=、!、!等。 内连接分三种:等值连接、自然连接和不等值连接。 5.4.10 连接查询 2.内连接 (1)等值连接:在连接条件中使用等于运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。 例5-25:在AWLT数据库中,查询商品的总销售价及折扣。 例5-26:在AWLT数据库中,查询并计算每个销售订单中每种产品的收入。 5.4.10 连接查询 2.内连接 (2)自然连接:在连接条件中使用等于运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。 (3)不等值连接:在连接条件中使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括、=、=、、!、!和。 5.4.10 连接查询 3.外连接 使用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个连接表(完全外连接)中的所有数据行。 不满足条件的对应表中的行被填上NULL值后也返回到查询结果中。 外连接分为:左外连接、右外连接、完全外连接。 5.4.10 连接查询 3.外连接 (1)左外连接 查询结果集中包含指定左表中的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有找到匹配的行,则结果集中的右表的相对应位置为NULL。 例5-27:在AWLT数据库中,查询产品的销售情况。 5.4.10 连接查询 3.外连接 (2)右外连接 右外连接查询结果集中包含指定右表中的所有行,如果右表的某行在左表中没有找到匹配的行,则结果集中的左表的相对应位置为NULL。 (3)完全外连接 返回左表和右表中的所有行。当某行在另外一个表中没有匹配行时,则另外一个表与之对应列值为NULL。如果表之间有匹配行,则整个结果集包含基表的数据值。 5.4.10 连接查询 3.外连接 例5-28:在AWLT数据库中,查询产品名称以及SalesOrderDetail表中任何对应的销售订单。该示例还将返回在Product表中没有列出产品的任何销售订单,以及销售订单不同于在Product表中列出的销售订单的任何产品。 5.4.10 连接查询 4.交叉连接 交叉连接不带WHERE子句,它返回被连接的两个表中所有数据行的笛卡尔积。 例5-29:返回Product和ProductCategory这两个表的叉积。所返回的列表包含 ProductID行和所有 Category行的所有可能的组合。 5.4.11 子查询 1.子查询含义 子查询是一个嵌套在SELECT、INSERT、UPDATE或DELETE语句或其他子查询中的查询。 任何允许使用表达式的地方都可以使用子查询,只要它返回的是单个值。 在使用子查询时,必须用括号把子查询括起来,以便区分外查询和子查询。 5.4.11 子查询 1.子查询含义 在一个SELECT语句中嵌入另一个完整的SELECT语句的查询称为嵌套查询。 子查询返回的数据类型不能使用image和text等数据类型,并且必须和外层查询WHERE子句中的数据类型相匹配。 SQL语言允许多层嵌套,但是在子查询中不允许出现ORDER BY子句,ORDER BY子句只能用在最外层的查询中。 嵌套查询一般按照由里向外的方法处理。 5.4.11 子查询 2.子查询规则——P151 3.使用子查询 (1)使用IN的子查询 它的基本语法格式为: WHERE expression [NOT] IN (subquery) 使用IN(或NOT IN)关键字引入子查询时,允许子查询返回一列零值或多个结果值。它判断IN关键字前所指定的列值是否在子查询的结果中, 例5-30:使用带IN的子查询实现查找Wheels子类别中所有产品的名称。 5.4.11 子查询 3.使用子查询 (2)使用比较运算符的子查询 它的基本语法格式为: WHERE expression comparison_operator [ANY|ALL](subquery)
文档评论(0)