三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

mysql子查询是什么?mysql数据库子查询实际运用示例

时间:2022-7-19作者:未知来源:三度网教程人气:


SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
mysql子查询是什么?

子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。子查询允许把一个查询嵌套在另一个查询当中。

mysql数据库子查询语句的特点:任何可使用表达式的地方,都可以使用子查询,只要他返回的是单个值;子查询按返回值的数量,子查询对外部依赖性,比较运算符的不同性进行分类;这在分页查询sql语句中经常用到。

一:子查询的特点:

  1. 子查询可被嵌套在 select,insert,update,delete 等语句中

  2. 大多数情况下子查询充当中间结果集角色

  3. 子查询可进行嵌套,且根据内存及表达式复杂程度不同,嵌套限制也不同

  4. 任何可使用表达式的地方,都可以使用子查询,只要他返回的是单个值

二:子查询的分类:

  1. 按返回值的数量可分为:标量子查询,多值子查询

  2. 按子查询对外部依赖性:独立子查询,相关子查询

  3. 按比较运算符的不同性:IN,EXISTS,ANY,SOME,ALL等多种形式

三:子查询的使用:

  1. 首先创建两个表(学生表和教师表)

    # 创建学生表 mysql> create table tb_student( -> stu_ID long, -> class varchar(5), -> score int -> ); Query OK, 0 rows affected (0.23 sec) # 创建教师表 mysql> create table tb_teacher( -> tea_ID long, -> class varchar(5), -> age int -> ); Query OK, 0 rows affected (0.49 sec)
  2. 将一些值插入到表中

    insert into tb_student values(1, "A", 20); insert into tb_student values(2, "A", 30); insert into tb_student values(3, "A", 70); insert into tb_student values(4, "B", 60); insert into tb_student values(5, "B", 70); insert into tb_student values(6, "B", 80); insert into tb_teacher values(1, "A", 25); insert into tb_teacher values(2, "B", 40);
  3. 准备工作完毕,接下来进行子查询练习

  • 例一:各班教师ID及其班级平均分数

    mysql> select tea_ID, -> (select avg(score) from tb_student as s where s.class = t.class group by class) -> as Avg from tb_teacher as t; +--------+---------+

关键词:  mysql子查询是啥?mysql数据库子查询实际运用示例





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版