子查询

在一个 select 语句中,嵌入了另外一个 select 语句,那么被嵌入的 select 语句称之为子查询语句

主查询

主要查询的对象,第一条 select 语句

主查询和子查询的关系

子查询是嵌入到主查询中

子查询是辅助主查询的,要么充当条件,要么充当数据源

子查询是可以独立存在的语句,是一条完整的 select 语句

子查询分类

标量子查询: 子查询返回的结果是一个数据(一行一列)

列子查询: 返回的结果是一列(一列多行)

行子查询: 返回的结果是一行(一行多列)

表级子查询: 返回的结果是多行多列

标量子查询

  1. 查询班级学生平均年龄
  2. 查询大于平均年龄的学生

查询班级学生的平均身高

select * from students whereage > (select avg(age) from students);

列级子查询

查询还有学生在班的所有班级名字

  1. 找出学生表中所有的班级 id
  2. 找出班级表中对应的名字

select name from pythons whereid in (select cls_id from students);

行级子查询

需求: 查找班级年龄最大,身高最高的学生

行元素: 将多个字段合成一个行元素,在行级子查询中会使用到行元素

select * from students where(height,age) = (select max(height),max(age) from students);

表级子查询

查询学生与班级对应的信息

select * from
(select stu.*,pys.name as clsname from students as stu inner join pythons aspys on stu.cls_id = pys.id)
as t1;

说明:发现很多表级子查询的语句,都是可以使用连接查询实现的,此时推荐使用连接查询,因为连接查询的语句更简洁,逻辑更清晰

子查询中特定关键字使用

  • in 范围

格式: 主查询 where 条件 in (列子查询)

  • any | some 任意一个

格式: 主查询 where 列 = any (列子查询)

在条件查询的结果中匹配任意一个即可,等价于in

  • all

格式: 主查询 where 列 = all(列子查询) : 等于里面所有

格式: 朱查询 where 列 <>all(列子查询) :不等一其中所有

9.数据库中的子查询相关推荐

  1. MySql数据库中的子查询使用

    1.子查询概念 在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句,外部那个select语句则称为主查询语句. 2.主查询和子查询的关 ...

  2. MySQL数据库---子查询insert,update,delete语句中嵌套子查询

    十.子查询的使用(重点) 1.子查询:指的是查询语句,嵌套查询语句---->一般是放在where子句中,表示条件. 2.子查询的应用使用场景: 2.1查询过程中,虽然给了条件,但是条件的结果并不 ...

  3. 数据库查询中的子查询方法

    一.简介. 关于SQL Server的查询,之前我们已经讲过了,如果没看过,可以翻一下我之前发的文献.本期我们来讲一下查询中的子查询方法. 二.子查询. 子查询是嵌套在另一个语句(如:[select] ...

  4. mysql中怎么查询单行单列_MySql中的子查询-结果单行单列

    MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...

  5. Oracle数据库中的级联查询、级联删除、级联更新操作教程

    这里整理了Oracle中的三种级联操作,其中Oracle定义外健的时候可以定义级联删除,但是没有级联修改的语法,当然可以用触发器实现,下面我们详细来看Oracle数据库中的级联查询.级联删除.级联更新 ...

  6. linq 查询中嵌套子查询

    开发工具与关键技术:VS NVC 作者:听民谣的老猫 撰写时间:2019/7/22 18:15 讲一个比较实用的功能____linq 查询中嵌套子查询. 通常我们遇到上面这种情况,我们肯定是想吧后面班 ...

  7. 【赵强老师】SQL中的子查询

    ​先看视频,视频全长73分钟,相信对大家有帮助. [赵强老师]SQL中的子查询 这里主要向大家介绍了Oracle数据库之Oracle子查询之简单子查询,通过具体的内容向大家展现,希望对大家学习Orac ...

  8. 详细讲述MySQL中的子查询操作

    基本含义 就是在一个查询语句(select语句)中的内部,某些位置,又出现的"查询语句". 例: 这里写图片描述 修改后: 这里写图片描述 如果将该"select 500 ...

  9. mysql view 子查询_mysql – View的SELECT包含FROM子句中的子查询

    我有两个表,我需要创建一个视图.表格是: credit_orders(id, client_id, number_of_credits, payment_status) credit_usage(id ...

最新文章

  1. 三分钟了解“Java重写”
  2. 一个母婴电子商务网站贝贝网的大数据平台及机器学习实践【转】
  3. Android 数据库 ANR的例子
  4. pythonsubprocess执行多条shell命令_python中subprocess批量执行linux命令
  5. 2021广州黄冈中学高考成绩查询,黄冈中学广州学校2019高考成绩喜报、本科重本上线人数情况...
  6. 怎么把jad反编译放到Eclipse中
  7. wordpress主题 阿里百秀XIU v7.7版本 兼容 PHP 8.0
  8. 更少的标签,更好的学习,谷歌半监督学习算法FixMatch
  9. 几种不同程序语言的HMM版本
  10. asp.net core 系列 3 依赖注入服务
  11. C++:数组的输入、排序与去重操作
  12. webm格式转换mp4_将webm转换为mp4
  13. 自动刷百度下拉词优化工具
  14. 分解gif图片并保存
  15. 计算机网络基本原理pdf,自考计算机网络基本原理课程学习指引.pdf
  16. 【转帖】mysql锁机制
  17. PTA L2-039 清点代码库
  18. win10黑屏假死怎么解决
  19. Python+WebKit+HTML开发桌面应用程序
  20. 201506051031_《JavaScript权威指南》(p104-143)

热门文章

  1. Install Python3.6 on Amazon Linux/EC2 在Amazon Linux实例中安装使用Python3.6
  2. maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目
  3. 银联Apple Pay 总结
  4. 【原创】oracle的tpc-c测试及方法
  5. struts-tiles学习笔记
  6. VS2012和XE2013的关联和设置问题
  7. redis源码之main()函数剖析
  8. 如何利用openSsl来计算一个文件的md5值?
  9. 毕业十年|我的嵌入式AI学习路线(笔记、代码)
  10. 嵌入式Linux操作UART实例