码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SQL Serve---嵌套查询


    定义

    嵌套查询:主要用于复杂的查询中。在SQL语言中,一个Select From Where语句称为一个查询块,将一个查询块嵌套在另一个查询的Where子句或Having短语中的查询称为嵌套查询。

    子查询的类型
    使用别名的子查询
    使用IN和NOT IN的子查询
    使用比较运算符的子查询
    使用ANY或ALL修改的比较运算符
    使用EXISTS和NOT EXISTS的子查询

    --列出tb_student表中和“陈凯”年龄相同的学生的学号和姓名

    年龄:year(getdate())-year(birthday)

    1. --列出tb_student表中和“陈凯”年龄相同的学生的学号和姓名
    2. select s1.sno,s1.sn
    3. from tb_student as s1
    4. where year(getdate())-year(birthday)=
    5. (select year(getdate())-year(birthday)
    6. from tb_student as s2
    7. where s2.sn=‘陈凯’)

    --在选修c02课程成绩大于该课平均成绩的学生学号,姓名,成绩

    1. --在选修c02课程成绩大于该课平均成绩的学生学号(),姓名,成绩
    2. select s.sno,sn,s1.score
    3. from tb_student s,
    4. (select sno,score
    5. from tb_score
    6. where cno='c02' and score>(select avg(score)
    7. from tb_score where cno='c02'))as s1
    8. where s.sno=s1.sno
    in:返回值是一个以及一个以上的
    --查询软件 3班同学所选所有课程的名称
    1. select cn from tb_course
    2. where cno IN(select cno from tb_ score
    3. where left(sno,10)=‘2015010103')
    ¯ 查询不选c02课程的学生的学号、姓名、系别
    1. select sno,sn,dept from tb_student
    2. where sno NOT IN (select sno from tb_score
    3. where cno=‘c02')

    --查询考取最高分的学生的学号、课号、课名,成绩

    1. select sno,s.cno,cn,score
    2. from tb_score s,tb_course c
    3. Where s.cno=c.cno and score =
    4. (select max(score) from tb_score)
    -- 年龄高于平均年龄的所有学生的学号和姓名
    1. select sno,sn
    2. from tb_student
    3. where year(getdate())-year(birthday) >
    4. (select avg(year(getdate())-year(birthday) )
    5. from tb_student)

    注意:

    >all(1,2,3) :表示大于3(表示大于最大值)

    >any(1,2,3): 表示大于最小值

    -- 查找某门课程成绩高于或等于任何一门课程最高成绩的学生学号
    1. select distinct sno,cno,score
    2. from tb_score
    3. Where score >= any
    4. (select max(score)
    5. from tb_score
    6. group by cno)
    --在 tb_student 表中查询 tb_score 表中有成绩的学生学号和 姓名
    1. select sno,sn from tb_student
    2. where sno =
    3. any(select sno from tb_score)
    -- tb_score 表中 c01 和 c02两科成绩都大于60分的同学学号。
    1. select sno
    2. from tb_score
    3. where cno='c01' and score>60 and sno in
    4. ( select sno
    5. from tb_score
    6. where cno='c02' and score>60 )

  • 相关阅读:
    如何在Microsoft Exchange 2010中安装SSL证书
    详细介绍如何使用 NeRF 进行 3D 体积渲染-附源码下载
    计算机操作系统:实验2 【银行家算法】
    铁威马新品F2-212上线,全新设计,极致使用体验
    拼接字符串,得到字典序最小的结果
    8、JAVA入门——switch选择结构
    扬州大学858程序设计与数据结构专业课(资料篇)
    安全中级-初开始
    开发基于 ChatGPT 分析热点事件并生成文章的网站应用【热点问天】把百度等热点用chatGPT来对热点事件分析海量发文章 开发步骤 多种方式获取利润
    .net core中Grpc使用报错:The remote certificate is invalid according to the validation procedure.
  • 原文地址:https://blog.csdn.net/m0_74289471/article/details/137915450
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号