1.子查询概念

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

2.主查询和子查询的关系

  • 子查询是嵌入到主查询中
  • 子查询是辅助主查询的,要么充当条件,要么充当数据源
  • 子查询是可以独立存在的语句,是一条完整的 select 语句

3.子查询有三种

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

下面我们对三种子查询做分类讲解:

标量子查询

查询班级学生的平均身高

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

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

列级子查询

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

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

select name from classes where id in (select cls_id from students);

行级子查询

  • 需求: 查找班级年龄最大,身高最高的学生
  • 行元素: 将多个字段合成一个行元素,在行级子查询中会使用到行元素

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

总结

  • 子查询是一个完整的SQL语句
  • 子查询分为三种 标量、行、列子查询
  • 标量子查询返回的结果一行一列
  • 列子查询使用格式: 主查询 where 条件 in (列子查询)
  • 行子查询使用格式: 主查询where (字段1,2,…) = (行子查询)

MySql数据库中的子查询使用相关推荐

  1. mysql数据库中查询第几条到第几条数据_在 mysql 数据库中,从查询结果的第四条记录开始选取5条记录,下面 sql 语句正确的是( )...

    [单选题]同一种货物,在同一线路上或平行线路上作相对方向的运送,而与对方运程的全部或一部分发生重迭交错的运输被称为( ). [多选题]水闸一般由()三部分组成 [单选题]在一个常规的统计表内,非必需包 ...

  2. 9.数据库中的子查询

    子查询 在一个 select 语句中,嵌入了另外一个 select 语句,那么被嵌入的 select 语句称之为子查询语句 主查询 主要查询的对象,第一条 select 语句 主查询和子查询的关系 子 ...

  3. MySQL数据库中的模糊查询

    MySQL模糊查询 查询语句: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 实例: SQL模糊查询,使用like比较关键字,加上SQL里的通配符,请参考以下: LIKE'Mc ...

  4. MySQL数据库中where条件查询(比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询)

    1. where条件查询的介绍 where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中. where语句支持的运算符: 比较运算符 逻辑运算符 模糊查询 范围查询 空判断 wher ...

  5. mysql数据库不支持子查询,mysql update不支持set子查询更新 的解决办法

    先看示例:SELECT uin,account,password,create_user_uin_tree FROM sys_user 结果: 表中的create_user_uin_tree标识该条记 ...

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

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

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

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

  8. 在mysql数据库中,多表查询,事务,DCL,

    多表查询: * 查询语法:select列名列表from表名列表where.... * 准备sql# 创建部门表CREATE TABLE dept(id INT PRIMARY KEY AUTO_INC ...

  9. jq取第一个子元素为select_Java修行第036天---MySQL中的子查询,分页语句,三大范式...

    学习目标: 1.掌握子查询 2.了解正则表达式 3.理解索引的作用和创建索引 4.了解用户管理 5.掌握分页语句 6.了解执行计划和数据库引擎 7.理解数据库设计的三大范式 综合程序图: 1 子查询知 ...

最新文章

  1. 大科学时代,指数级增长的科学仍然拥有前所未有的朝气与活力
  2. Codeforces 611D New Year and Ancient Prophecy DP
  3. php异常跑出,php 抛出异常但继续往下执行为什么
  4. stl_vector.h
  5. 高等数学下-赵立军-北京大学出版社-题解-练习12.4
  6. mysql报警代码183_mysql启动报错:/usr/bin/mysqld_safe: line 183: 23716 Killed
  7. linux c语言 udp 接收和发送数据用同一个端口_网络编程基础入门及TCP,UDP
  8. 关于Validform
  9. latex符号正下方下标
  10. 科大讯飞,百度,思必驰,云知声四款识别引擎降噪算法性能对比
  11. 双稳态电路的两个稳定状态是什么_555时基电路内部结构及其工作原理
  12. 灵 源 大 道 歌 · 曹 文 逸
  13. 零基础搭建基于知识图谱的电影问答系统
  14. C++ - 函数返回多个返回值的方法总结
  15. 2---MATLAB将十进制转换成二进制补码
  16. 手撕Iterator源码
  17. JAVA后端生成类似于分享海报图片的功能的实现
  18. VHDL 语言学习笔记(1)
  19. 51单片机点灯、流水灯、跑马灯
  20. BootStrap3 图标glyphicon

热门文章

  1. Date - Java处理日期和时间
  2. 闭包案例产生多个相同的随机数 沙箱
  3. linux x86板级文件,Linux driver 板级文件跟踪一般方法
  4. hive 判断子字符串_Java中检查空字符串(null或空白)的方法有几种?
  5. java存储三元组_在4store中添加三元组
  6. html 列表循环_python web开发:内置标签与过滤器/循环/条件判断
  7. Python——如何搭建Python的环境
  8. linux+tomcat+apache
  9. 嵌入式产品开发设计需要考虑的问题总结
  10. eclipse如何快速查找某个类