将多条记录插入 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 中的 SELECT
s 不仅不会按某种顺序排列,而且在多次调用时它们也不会有相同的排列顺序.
当使用单个插入语句将多条记录添加到如下所示的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 中的 SELECT
s 不仅不会按某种顺序排列,而且在多次调用时它们也不会有相同的排列顺序.