- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
例:已知数据库表XK中高等数学课程的代码为090101,查询学生选修高等数学的平均成绩:SELECTavg(KSCJ)AS高等数学FROMXKWHEREKCH=090101例:查询学生总数SELECTcount(*)FROMstu_info(15)GROUPBY子句Groupby子句将查询结果表按某一列或多列值分组,值相等的分为一组。如:在表xk中查询各课程编号及相应的选课人数注:GROUPBY子句中不能使用聚合函数,并且必须在GROUPBY子句中列出SELECT列表中所有的非聚合项。例:在表stu_info中查询每个专业的男生、女生人数在groupby子句后面加WITHROLLUP或WITHCUBE如果还要显示每个专业的总人数及全体学生总人数,如何实现?SELECTkch,count(xh)FROMxkGROUPBYkchSELECTzyh,xbm,count(*)as人数FROMstu_infoGROUPBYzyh,xbm例:查询选修了3门以上课程的学生及选课数:SELECTXH,COUNT(*)FROMXKGROUPBYXHHAVING(COUNT(*)3)HAVING短语指定分组或聚合的条件。只有满足条件的分组才被选出来,HAVING一般与GROUPBY子句一起使用。SELECTXH,COUNT(*)FROMXKWHERE(XHLIKE2001%)GROUPBYXHHAVING(COUNT(*)3)例:查询学号前四位是2001的学生的学号及选课数:(16)HAVING短语where子句从基本表中选择满足条件的元组,而不是指定满足条件的分组,这是二者的根本区别。having短语指定选择组的条件,只有满足条件的组才被选出来。一般和groupby子句一起使用若一个查询同时涉及两个以上的表,称为连接查询。连接查询是关系数据库中最主要的查询,按连接类型可分为:内连接、外连接和交叉连接。其中内连接又分:等值连接、非等值连接和自然连接;外连接又分:左外连接、右外连接和全外连接等。4.2.5连接查询连接查询中用来连接两个关系的条件称为连接条件或连接谓词,格式:表名1.列名比较运算符表名2.列名其中比较运算符主要有:=、、、=、=、!=当连接运算符为=时,叫等值连接。使用其它运算符称为非等值连接。连接谓词中的列名称为连接字段。例:查询每个学生及其选课情况FROMstu_info,xkWHEREstu_info.xh=xk.xhSELECT*01SELECTstu_info.xh,stu_info.xm,stu_info.bh,stu_info.xbm,xk.kch,xk.kscjFROMstu_info,xkWHEREstu_info.xh=xk.xhandstu_info.bh=应化041//复合条件连接例:查询应化041班每个学生及其选修课程的情况02SELECTxmFROMstu_info,xk,gcourseWHEREgcourse.km=数据库原理andgcourse.kch=xk.kchandxk.xh=stu_info.xh增加表别名后的结果:SELECTxmFROMstu_infoa,xkb,gcoursecWHEREc.km=数据库原理andc.kch=b.kchandb.xh=a.xh为了简化,表名可以取别名,且别名只在本次查询有效例如:查询选修了有机化学这门课程的学生的姓名1234多表查询:涉及两个表以上的查询4.2.6嵌套查询下面讨论另一类基于多个关系的查询,这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。在前面的例子中,WHERE之后是一个相对独立的条件,这个条件或者为真、或者为假。但是,有时需要用另外的方式来表达检索要求。比如,当检索关系X中的记录时,它的条件依赖于相关的关系Y中的记录属性值,这时使用SQL的嵌套查询功能将非常方便。在SQL语言中,一个select-from-where语句称为一个查询块,将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询。等价形式:SELECTxmFROMstu_info,xkWHEREstu_info.
文档评论(0)