美文网首页BI学习笔记
BI-SQL丨ALL、ANY、SOME

BI-SQL丨ALL、ANY、SOME

作者: Fabric丨白茶 | 来源:发表于2023-02-10 09:39 被阅读0次

    ALL、ANY、SOME

    ALL、ANY和SOME,这三个关键字,在SQL中使用频率较高,通常可以用来进行数据比较筛选。

    注:SQL中ALL的用法和DAX中ALL的用法是完全不同的,小伙伴不要混淆了。

    那么三者之间的区别是什么呢?

    ALL:类似于AND,只有当满足所有条件时,才会返回TRUE。

    ANY:类似于OR,语法上和IN有区别,IN通常不需要搭配比较符,ANY需要和比较符搭配使用,但是从结果上看用途基本一致,只要满足一个条件,就返回TRUE。

    SOME:与ANY有细微差距,但是作用基本上与ANY是相同的,常规用法看作与ANY一致即可。

    基础语法

    ALL语法:

    WHERE 列名称 比较符 ALL (子查询)
    

    ANY语法:

    WHERE 列名称 比较符 ANY (子查询)
    

    SOME语法:

    WHERE 列名称 比较符 SOME (子查询)
    

    使用实例

    案例数据:


    在白茶本机的数据库中,存在名为“CaseData”的数据库,存在名为“Dim_Product”的维度表。

    ALL例子:

    筛选出“Dim_Product”中价格大于“单肩包”和“风衣”的剩余所有产品信息。

    SELECT *
    FROM Dim_Product
    WHERE
    Price > ALL(SELECT Price
    FROM Dim_Product
    Where ProductName='单肩包' OR ProductName='风衣');
    

    结果如下:

    ANY例子:

    筛选出“Dim_Product”中价格大于“单肩包”或“风衣”的剩余所有产品信息。

    SELECT *
    FROM Dim_Product
    WHERE
    Price > ANY(SELECT Price
    FROM Dim_Product
    Where ProductName='单肩包' OR ProductName='风衣');
    

    结果如下:

    SOME例子:

    筛选出“Dim_Product”中价格大于“单肩包”或“风衣”的剩余所有产品信息。

    SELECT *
    FROM Dim_Product
    WHERE
    Price > SOME(SELECT Price
    FROM Dim_Product
    Where ProductName='单肩包' OR ProductName='风衣');
    

    结果如下:

    这里是白茶,一个PowerBI的初学者。


    相关文章

      网友评论

        本文标题:BI-SQL丨ALL、ANY、SOME

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