SQL的UNION使用

来源:互联网 发布:扬州 住宿 推荐 知乎 编辑:程序博客网 时间:2024/05/22 12:13

在构造方法中获取资源文件中的资源数值

        TypedValue tv = new TypedValue();
        context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true);
        mDefaultTabStripSize = context.getResources().getDimensionPixelSize(tv.resourceId);


SQL中AS关键字的作用

1.别名

SELECT 列名 AS 别名 FROM table_name

2. 赋值

SELECT COUNT(*) AS  num FROM table


    SELECT
        count(IS_SERVICE_NUM)
    FROM 
        conversations
    WHERE
        IS_SERVICE_NUM >= - 1
    UNION ALL
        SELECT
            count(is_garbage)
        FROM
            messages
        WHERE
            is_garbage >= - 1

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。


UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL

UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名




    SELECT
   *
    FROM
        (
            SELECT
                conversations._id AS extra_info_id,
                snippet_text AS extra_info_snippet,
                0 AS extra_info_type
   FROM
                conversations
            JOIN messages ON IS_SERVICE_NUM > 0
            AND conversation_id = conversations._id
            ORDER BY
                received_timestamp DESC
            LIMIT 1
        )
    UNION ALL
        SELECT
   *
        FROM
        (
            SELECT
                messages._id AS extra_info_id,
                text AS extra_info_snippet,
                1 AS extra_info_type
            FROM
                messages
            JOIN parts ON is_garbage > 0
            AND message_id = messages._ID
            ORDER BY
                received_timestamp DESC
            LIMIT 1
        );


DESC 降序排列

LIMIT 取第一条数据


获取最新的数据记录