- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于子查询
6.1.7 子查询 在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。 子查询是一个 SELECT 查询,它嵌套在 SELECT、INSERT、UPDATE、DELETE 语句内,或其它子查询中 子查询的 SELECT 查询总是使用圆括号括起来 一、条件子查询 这类子查询嵌套在 SELECT、INSERT、UPDATE、DELETE 语句的 WHERE 或 HAVING 子句内 先执行内层子查询,再逐层向外执行 只显示最外层查询的结果 包括子查询的语句通常采用以下格式中的一种 WHERE 列名 [NOT] IN (子查询) WHERE 表达式 比较运算符 [ANY|ALL] (子查询) WHERE [NOT] EXISTS (子查询) 带比较运算符的子查询指父查询与子查询之间用比较运算符连接, 当用户能确切知道内层查询返回的是单个值时,可用、、=、=、=、运算符 例1 查询与“刘晨”在同一个系学习的学生 题目分解: 1. 查出刘晨所在的系 2.查询这个系的学生姓名和系名 3.是除了刘晨以外的学生 例1 查询与“刘晨”在同一个系学习的学生 题目分解: 1. 查出刘晨所在的系 2.查询这个系的学生姓名和系名 3.是除了刘晨以外的学生 例1 查询与“刘晨”在同一个系学习的学生 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept = (SELECT Sdept FROM Student WHERE Sname=‘刘晨’) and Sname ! = ‘刘晨’ 使用嵌套查询时 确定需要查询的表 并分解问题 例2 查询成绩不低于90的学生的学号姓名 SELECT Sno, Sname FROM Student WHERE Sno IN ( SELECT DISTINCT Sno FROM SC WHERE Grade = 90) 例6-62 查询与法人“华顺达水泥股份有限公司”的经济性质相同的法人名称 例6-63 查询在“工商银行北京A支行”贷过款的法人名称 例6-64 查询没有贷过款的法人代码、名称和其经济性质 例6-65 查询没有在“工商银行北京B支行”银行贷过款的法人代码、法人名称及其经济性质 例6-66 查询与法人“华顺达水泥股份有限公司”的经济性质相同的法人名称 每个企业的经济性质是唯一的 例2. 查询‘C01’课程考试成绩最高的学生的姓名 分析 要取到“最高”成绩,意味着需要用聚合函数,也就不可能用这样的语句: SELECT sno,MAX(Grade) FROM SC WHERE Cno = ‘C01‘ 例2. 查询‘C01’课程考试成绩最高的学生的姓名 分析 3.姓名在Student表中可得,需要知道学号 2.满足条件的学号,需要从SC中查出,条件是知道成绩(而且最高成绩是唯一的) 1. 指定课程的最高成绩值,从SC中查出 例2. 查询‘C01’课程考试成绩最高的学生的姓名 SELECT Sname FROM Student WHERE Sno IN ( SELECT Sno FROM SC WHERE Grade = ( SELECT MAX(Grade) FROM SC WHERE Cno = ‘C01’) and cno = ‘C01’) 例6-67 查询在银行“B111B”贷款金额最高的法人的名称、经济性质和注册资金 例6-68查询在银行“B111B”贷款且贷款金额高于此银行的平均贷款额的法人的代码、贷款日期和贷款金额 二、相关子查询 相关子查询在子查询的Where子句中关联外部表 可以用EXISTS( )函数引导 EXISTS代表存在量词,带EXISTS函数的子查询不返回结果数据,只产生逻辑真值和逻辑假值。 例1.查询选修了C01课程的学生姓名 SELECT Sname FROM Student WHERE EXISTS (SELECT * FROM SC WHERE Sno = Student.Sno AND Cno = ‘C01’) 注1:处理过程为:先外后内;由外层的值决定内层的结果;内层执行次数由外层结果数决定。 注2: 由于EXISTS的子查询只能返回真或假值,因此在这里给出列名无意义。所以在有EXISTS的子查询中,其目标列表达式通常都用*。 上句的处理过程为: 1.找外层表Student表的第一行,根据其Sno值处理内
您可能关注的文档
- 六年级下M8U1Why do you have cups on your head.ppt
- 六年级下module7_unit1_He_spent_about_twenty-one_hours_in_space.ppt
- 六年级下册 unit 1 安.ppt
- 六年级下Module9_Unit_2_Wishing_you_happiness_everyday..ppt
- 六年级下M8U1Why_do_you_have_cups_on_your_head.ppt
- 六年级下册Unit 2 Read and write.ppt
- 六年级下册Unit 4 Planting trees is good for us. Period 2.ppt
- 六年级下英语小升初试题-全优发展-2014人教pep.docx
- 六年级下英语复习课件-冠词.ppt
- 六年级完形填空.docx
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
最近下载
- (招聘面试)二三管轮任职业务知识必备掌握要点(面试前好好研读).pdf
- 9.1-认识总体国家安全观-课件(共31张PPT).pptx
- 绿色金融改革创新试点政策对企业经营绩效的影响研究.pdf VIP
- 赣州市南康区赞贤小学开展“扣好人生第一粒扣子——我爱我的祖国主题演讲比赛活动方案.doc
- 个人医保承诺书模板.docx VIP
- 绿色金融改革创新试点政策对企业绿色创新的影响-来源:创新与创业教育(第2022002期)-中南大学.pdf VIP
- 信息技术环境下的数学教学设计结题报告.doc VIP
- 国金证券:新型消费研究系列-便利店-小业态大生意-打造便利生活.pdf
- HIKARI富山奇立铺布机使用说明书.doc
- 部编版语文四年级上册第七单元大单元教学设计核心素养目标.pdf VIP
文档评论(0)