将多条记录插入 SQL table 时,它不遵循顺序

When inserting multiple record into a SQL table it does not follow the order

当使用单个插入语句将多条记录添加到如下所示的table中时,选择时不遵循相同的顺序。我知道这不会影响任何事情,但我可以知道为什么会这样吗?

CREATE TABLE [category]
(
    [category_id] int IDENTITY(1,1) PRIMARY KEY,
    [category_name] varchar(255) NOT NULL UNIQUE
);
INSERT INTO [category] (category_name) 
VALUES ('Laptops and Accessories'),
       ('AI Development Kit'),
       ('Cameras and Lens');

SELECT * FROM [category]

输出:

我正在使用 SQL 服务器。

您的 select 声明明确表示:“我不关心顺序!” - 它通过省略 ORDER BY 子句来做到这一点。

如果你说 SELECT * FROM [category] ORDER BY [category_id] 你会得到一个有序的结果集

1, 'Laptops and Accessories'
2, 'AI Development Kit'
3, 'Cameras and Lens'

这正是您在 INSERT 声明中给出的顺序。

没有 ORDER BY 子句的 SQL 中的

SELECTs 不仅不会按某种顺序排列,而且在多次调用时它们也不会有相同的排列顺序.