【发布时间】:2019-03-15 08:47:34
【问题描述】:
我对 sql 数据库非常陌生,我有以下问题
我需要在组件表中搜索 ID 与 ID 列表匹配的所有组件(参见示例)。
组件表
ID Name
1 component 1
... ...
10 component 10
ID 列表 = (1,8,3)
query for this:
SELECT * FROM Component
WHERE ID IN (1,8,3)
这将给我 ID 1,3 和 8,这是正确的,但顺序不同。 有没有办法像列表的顺序一样保持顺序(1,8,3 而不是 1,3,8)?
提供查询的链接:SQL Statement using Where clause with multiple values
提前致谢, 西奥
【问题讨论】:
-
SQL 结果没有隐式顺序。这适用于 所有 数据库,而不仅仅是 SQL Server。除非您使用
ORDER BY子句,否则服务器将在生成结果时返回结果。 -
为什么要按那个顺序返回结果?这背后有什么逻辑吗?
标签: sql-server database sorting where-in