动态查询(课件)-《MySQL数据库技术与应用》同步教学(清华大学).pptxVIP

动态查询(课件)-《MySQL数据库技术与应用》同步教学(清华大学).pptx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第6章查询;本章学习目标:

掌握T-SQL作为查询语句的语法与应用

掌握WHERE、ORDERBY、GROUPBY、HAVING子句的使用

掌握基本的多表查询

掌握内连接、外连接、交叉连接和联合查询的使用

掌握多行和单值子查询的使用

掌握嵌套子查询的使用;工作场景导入;(6)查询院系人数大于20的院系信息。

(7)查询不在信息工程学院上课的学生。

(8)查询和“张玲”在一个系上课的学生姓名。

(9)查询成绩低于该门课程平均成绩的学生编号、课程编号和成绩。

(10)查询选修了“2014056101”学生选修的所有课程的学生的信息。

?

;引导问题:

(1) 如何查询存储在数据库表中的记录?

(2) 如何对原始记录进行分组统计?

(3) 如何对来自多个表的数据进行查询?

(4) 如何保留连接不成功的记录?

(5) 如何动态设置选择记录的条件?

;6.5.9动态查询;【例】用动态查询实现查询课程的信息。

代码如下:

DECLARE@CNAMEvarchar(20)

SET@CNAME=课程名

SELECT@CNAMEFROM课程--没有语法错误,但结果为固定值“课程名”

EXEC(SELECT+@CNAME+FROM课程)

;EXEC命令的参数是一个查询语句,下面可以将字符串改成变量的形式,代码如下:

DECLARE@CNAMEvarchar(20)--声明一个字段名

SET@CNAME=课程名

DECLARE@sqlvarchar(1000)--声明变量用来存放字符串

SET@sql=SELECT+@CNAME+FROM课程

EXEC(@sql)

;若想使用扩展存储过程sp_executesql执行,则需要将变量@sql的数据类型改动一下,代码如下:

DECLARE@CNAMEvarchar(20)

SET@CNAME=课程名

DECLARE@sqlnvarchar(1000)

SET@sql=SELECT+@CNAME+FROM课程

EXEC(@sql)

EXECsp_executesql@sql;6.6嵌套查询;6.6.1带有IN谓词的子查询;6.6.2带有比较运算符的子查询;6.6.3带有ANY、SOME或ALL关键字的子查询

;6.6.4带有EXISTS谓词的子查询;6.7联合查询;6.7.1UNION操作符;UNION子句;6.7.2INTERSECT操作符;6.7.3EXCEPT操作符;6.8使用排序函数;6.8.1ROW_NUMBER();6.8.2RANK();6.8.3DENSE_RANK();6.8.4NTILE();【例】用NTILE()函数实现对教师表进行分组处理。

代码如下:

SELECTNTILE(4)OVER(ORDERBY工作时间)AS参加工作先后组,姓名,工作时间

FROM教师

;THANKYOU

您可能关注的文档

文档评论(0)

书离闲情 + 关注
实名认证
文档贡献者

书离闲情

1亿VIP精品文档

相关文档