• ADADADADAD

    mysql数据库中子查询的示例分析[ mysql数据库 ]

    mysql数据库 时间:2024-11-29 09:50:39

    作者:文/会员上传

    简介:

    mysql子查询是什么?子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。子查询允许把一个查询嵌套在另一个查询当中。mysql数据库子查询语句的特点:任何可使用表

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    mysql子查询是什么?

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

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

    一:子查询的特点:

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

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

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

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

    二:子查询的分类:

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

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

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

    三:子查询的使用:

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

      #创建学生表mysql>createtabletb_student(->stu_IDlong,->classvarchar(5),->scoreint->);QueryOK,0rowsaffected(0.23sec)#创建教师表mysql>createtabletb_teacher(->tea_IDlong,->classvarchar(5),->ageint->);QueryOK,0rowsaffected(0.49sec)

      将一些值插入到表中

      insertintotb_studentvalues(1,"A",20);insertintotb_studentvalues(2,"A",30);insertintotb_studentvalues(3,"A",70);insertintotb_studentvalues(4,"B",60);insertintotb_studentvalues(5,"B",70);insertintotb_studentvalues(6,"B",80);insertintotb_teachervalues(1,"A",25);insertintotb_teachervalues(2,"B",40);

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

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

      mysql>selecttea_ID,->(selectavg(score)fromtb_studentasswheres.class=t.classgroupbyclass)->asAvgfromtb_teacherast;+--------+---------+|tea_ID|Avg|+--------+---------+|1|40.0000||2|70.0000|+--------+---------+2rowsinset(0.00sec)

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

      mysql>selectage,->(selectcount(*)fromtb_studentasswheres.class=t.class&&s.score>=60groupbyclass)->asCountfromtb_teacherastorderbyCountdesc;+------+-------+|age|Count|+------+-------+|40|3||25|1|+------+-------+2rowsinset(0.00sec)
    mysql数据库中子查询的示例分析.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载