gpt4 book ai didi

java - android中正确的sql UNION是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 08:11:31 25 4
gpt4 key购买 nike

(SELECT word, description 
FROM dictionary
WHERE word LIKE 'xxxx%') AS a

UNION

(SELECT word, description
FROM dictionary
WHERE word LIKE '%xxxx%' AND word NOT IN a.word)

注意:“xxxxx”是关键字。

我正在 Android 上开发一个通过关键字搜索的字典应用程序。要求是将那些以关键字开头的结果放在最前面。我想出了 union by sql 的想法,但我不是 SQL 专家,所以有人可以帮我弄清楚我在上述查询中做错了什么。

仅供引用:我正在使用处理原始 SQL 语句的 rawQuery()。

感谢社区。

最佳答案

无法保证 UNION 运算符会按照您假定的顺序对两个子查询中的行进行排序。 UNION ALL 不会尝试查找重复项,因此它有更多的工作机会(正如您希望的那样)。

所以这可能有效(也可能无效!)- 取决于 UNION ALL 的内部工作方式:

(SELECT word, description 
FROM dictionary
WHERE word LIKE 'xxxx%') AS a

UNION ALL

(SELECT word, description
FROM dictionary
WHERE word LIKE '%_xxxx%') AS b

最好使用ORDER BY 明确指定顺序。我认为 SQLite 支持这个:

SELECT word, description
FROM dictionary
WHERE word LIKE '%xxxx%'
ORDER BY (word LIKE 'xxxx%') DESC

关于java - android中正确的sql UNION是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com