mysql子查询是什么?mysql数据库子查询实际使用示例_MySQL_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • MySQL

    当前位置:主页 > 数据库 > MySQL >

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

    时间:2019-09-11|栏目:MySQL|点击:
  • mysql子查询是什么?

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

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

    一:子查询的特点:

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

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

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

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

    二:子查询的分类:

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

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

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

    三:子查询的使用:

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

    # 创建学生表 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)

    将一些值插入到表中

    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);

    准备工作完毕,接下来进行子查询练习

    例一:各班教师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; +--------+---------+ | tea_ID | Avg | +--------+---------+ | 1 | 40.0000 | | 2 | 70.0000 | +--------+---------+ 2 rows in set (0.00 sec)

    例二:各班级教师年龄及其班级及格人数(60为及格线)

    mysql> select age, -> (select count(*) from tb_student as s where s.class = t.class && s.score >= 60 group by class) -> as Count from tb_teacher as t order by Count desc; +------+-------+ | age | Count | +------+-------+ | 40 | 3 | | 25 | 1 | +------+-------+ 2 rows in set (0.00 sec)

    相关推荐:

    mysql 分页查询语句数据库查询_MySQL

    Mysql limit子查询语句_MySQL

    视频:高级数据查询 - where子句-六天带你玩转MySQL

    以上就是mysql子查询是什么?mysql数据库子查询实际使用示例的详细内容,更多请关注php中文网其它相关文章!

    上一篇:SQL优化:很简单的一篇提高SQL性能的文章!

    栏    目:MySQL

    下一篇:mysql数据库分库分表技术难点解决策略

    本文标题:mysql子查询是什么?mysql数据库子查询实际使用示例

    本文地址:http://www.jh-floor.com/shujuku/MySQL/50127.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号