美文网首页
12、from型子查询

12、from型子查询

作者: 小碧小琳 | 来源:发表于2018-12-05 09:51 被阅读0次

一、引出from型子查询

1.1、表 or 结果?

如果不看查询语句的话,单看“结果”,是分不清这个“结果”是表还是查询语句的结果的,比如下图

你没法分辨discount是表中固有的字段,还是前面两个字段运算的结果(查询语句的结果)。
因此,可以把查询的结果集看成一张表,因此可以对结果集,再次进行查询。

1.2、from型子查询

即,内层SQL的查询结果,当成一张临时表,供外层SQL,再次查询。

应用场景

查询每个栏目下,goods_id最大的商品。
假设有一张表,如下:

满足,每个栏目下的第一个good_id正好是最大的那个id。那么对于这个表,我们只需要再用group一次,即可得到表中每个栏目的第一个商品,那么就是我们想要的结果了。(这个group查询可能在新版本中的MySQL中认为语法错误,这里只是举个例子。)

那么怎么得到上面的特别方便的表格temp呢?可以用查询语句,得到该temp表。然后from 后面加temp表即可呀。

如下:

上面查询语句,内层sql查询语句得到temp表,然后外层再次查询一次即可。

相关文章

  • 12、from型子查询

    一、引出from型子查询 1.1、表 or 结果? 如果不看查询语句的话,单看“结果”,是分不清这个“结果”是表还...

  • MySQL from 型子查询

    from 型子查询 在学习 from 子查询之前,需要理解一个概念:查询结果集在结构上可以当成表看,那就可以当成临...

  • (十二)子查询

    子查询需用括号包裹。 from型 简化每个查询内的条件。from型需将结果生成一个临时表格,可用以原表的锁定的释放...

  • 十三、查询优化

    from 型子查询 注意:内层from语句查到的是临时表,是没有索引的 所以:from的返回内容要尽量少,需要排序...

  • 2.4 高级YupDB SQL 教程

    子查询 SELECT 列名 [, ..] FROM ( SELECT列名 [, ..] FROM YupD...

  • MySQL常用查询语句23条

    一、查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,...

  • 6.三个子查询语句

    1.where型:内层的查询结果作为外层查询的比较条件 2.from型:把内层的查询结果供外层再次查询 注意!内层...

  • Mysql之子查询

    一、子查询使用场景 --select... -- --from --where<可使用子查询> --having<...

  • Mysql高级查询

    子查询 代码:select * from tableName where id in(select id from...

  • 9、子查询

    单行子查询 select * from emp where sal > (selectsal from emp w...

网友评论

      本文标题:12、from型子查询

      本文链接:https://www.haomeiwen.com/subject/ubticqtx.html