zoukankan      html  css  js  c++  java
  • 两个看似相同,结果不同的SQL逻辑

    一朋友问我的,看着挺有意思,记录一下:

    表item1,里面有上面三个字段,一共10条数据,接下来有两个相似的sql语句得到了不一样的查询结果。

    表数据如下:

     两条SQL及查询结果:

     我的理解答:

    SQL1 循环一遍,i表拿出每一列值去和j表相同列的平均值做比较

    比如,i表拿出i.i_item_sk=4的列,i.i_current_price=1.35,满足 i_category=Children的行有三个,三个i_current_price取平均值是4.68,然后这个平均值的1.2倍和i.i_current_price=1.35比较大小判断是否满足条件。


    SQL2 循环两遍,先是子查询里i和j做笛卡尔积得出集合k的平均值,然后i表拿出每一列去和k的平均值做比较

    第二个SQL较为好理解,先是子查询算出两个表的关联结果求平均值,其实就一个平均值,然后i表中的每一列i.i_current_price和这个平均值的运算作比较,判断是否满足条件。

  • 相关阅读:
    10-22 训练 T2 plate
    C语言I博客作业03
    c语言I博客作业02
    数学的数字
    javascript 递归
    WEB 动画的一些实现方式
    javascript 中Object一些高效的操作方法
    javascript 中Array一些高效的操作方法
    mac os 的一些命令
    javascript 继承
  • 原文地址:https://www.cnblogs.com/nandi001/p/12469288.html
Copyright © 2011-2022 走看看