- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
select 课程编号,avg(成绩) from cj group by 课程编号 having avg(成绩)=75 * select 歌手号,(SUM(分数)-Max(分数)-Min(分数))/(count(*)-2) as 最后得分; from 评分 group by 歌手号 order by 最后得分 desc 求女同学分数 连接三个表 查询每个学生的学号、姓名、选修的课程名 及成绩 select cj.学号,课程编号,成绩 from xsjbxx,cj where alltrim(cj.学号)=alltrim(xsjbxx.学号) and alltrim(课程编号) =0001 * 连接三个表 查询每个学生的学号、姓名、选修的课程名 及成绩 select cj.学号,cj.课程编号,kc.课程名称,成绩 from xsjbxx,cj,kc where alltrim(cj.学号)=alltrim(xsjbxx.学号) and alltrim(cj.课程编号)=alltrim(kc.课程编号) and alltrim(cj.课程编号) =0001 SELECT cj.学号, xsjbxx.姓名 FROM xsjbxx,cj; WHERE alltrim(xsjbxx.学号)= alltrim(cj.学号) AND; alltrim(课程编号)= 0002 AND 成绩80 * 一个表与其自己进行连接,称为表的自身连接 需要给表起别名以示区别 由于所有属性名都是同名属性,因此必须使用别名前缀 * * SELECT 学号 FROM cj; WHERE 成绩=90; GROUP BY 学号; HAVING COUNT(*)=2 在sql中,将一个select-from-where 语句称为一个查询块,讲一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询(nested query)。 子查询的select语句中不能使用order by 子句,order by 子句只能对最终查询结果排序。 嵌套查询可以用多个简单查询构成复杂的查询,从而增强 sql 的查询能力。以层层嵌套的方式来构造程序正是 SQL(structured query language) 中“结构化”的含义所在。 在sql中,将一个select-from-where 语句称为一个查询块,讲一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询(nested query)。 子查询的select语句中不能使用order by 子句,order by 子句只能对最终查询结果排序。 嵌套查询可以用多个简单查询构成复杂的查询,从而增强 sql 的查询能力。以层层嵌套的方式来构造程序正是 SQL(structured query language) 中“结构化”的含义所在。 sele 学号,姓名 from xsjbxx where 学号 not in (sele 学号 from cj where 成绩60) * 带有EXISTS的子查询不返回任何数据,只产生逻辑值true或false。他所在的查询属于相关子查询,即子查询的查询条件依赖于外层父查询的某个属性值,处理过程一般为: 首先取外层查询的第一个元组,根据它与内层查询相关的属性值处理内层查询,若where子句返回true,则将此元组放入结果表,然后取下一个元组,重复这个过程直到全部检查完为止 Exist 关键字的查询总是相关查询, Exist关键字的子查询是唯一允许使用通配符”*”的情况 Exists 只是带子查询in的特殊形式。 * select 学号,姓名 from xsjbxx where exists(select 学号 from cj where alltrim(课程编号)=‘0001‘and xsjbxx.学号=cj.学号) Select 学号,姓名 from xsjbxx where alltrim(学号) in( select alltrim(学号) from cj where alltrim(课程编号)=0001) select * from xsjbxx where exists(select cj.学号 from cj,xsjbxx where alltrim(xsjbxx.学号)= alltrim (cj.学号) and alltrim(课程编号)=0001) * 这个查询的的执行过程是 从外层查询中取出 cj 表的一个元组 执行内层查询 得到对应平均成绩 执行 外层查询 重复 取出各个学号,进行查询 * ctr + 0 输入.NULL.注意的是最好在英文状态下,0不能用小键盘区的
文档评论(0)