MYSQL嵌套查询(子查询),把内层的查询结果作为外层的查询条件

MYSQL嵌套查询(子查询),把内层的查询结果作为外层的查询条件

嵌套查询(子查询)

  1、定义 :把内层的查询结果作为外层的查询条件

  2、语法格式

    select ... from 表名 where 条件(select ....);

  3、示例

    1、把攻击值小于平均攻击值的英雄名字和攻击值显示出来

      1、先计算平均值

        select avg(gongji) from MOSHOU.sanguo;

      2、找到 < 平均值

        select name,gongji from MOSHOU.sanguo

  where gongji<平均值;

      子查询:

        select name,gongji from MOSHOU.sanguo

        where 

        gongji<(select avg(gongji) from MOSHOU.sanguo);

    2、找出每个国家攻击力最高的英雄的名字和攻击值

       

       select name,gongji from sanguo

       where 

       gongji in(select max(gongji) from sanguo group by country);

     ## 无BUG

       select name,gongji from sanguo

       where 

       (country,gongji) in

       (select country,max(gongji) from sanguo group by country);

       蜀国:100

       魏国:200

       吴国:300

       吴国:三个英雄  300  200 100


最后编辑于:2019/10/07作者: 牛逼PHP

发表评论