sql - 将多条记录插入 SQL 表时,它不遵循顺序
问题描述
当使用单个insert语句将多条记录添加到一个表中时,如下所示,选择时不遵循相同的顺序。我知道这不会影响任何事情,但我可以知道为什么会这样吗?
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 Server。
解决方案
您的选择声明明确表示:“我不在乎订单!” - 它通过省略该ORDER BY
子句来做到这一点。
如果你说SELECT * FROM [category] ORDER BY [category_id]
你会得到一个有序的结果集
1, 'Laptops and Accessories'
2, 'AI Development Kit'
3, 'Cameras and Lens'
这正是您在INSERT
声明中给出的命令。
SELECT
没有子句的 SQL 中的 sORDER BY
不仅不希望按某种顺序排列,而且在多次调用时也不希望它们具有相同的顺序。
推荐阅读
- owasp - How can I can list of alerts associated with scan rules in OWASP ZAP?
- kotlin - kotlin中的Flywaydb错误
- mysql - SQL query for FIND and REPLACE with if condition
- rest - What if you make a PUT request and there is no such entity on server?
- c# - EPPlus 将逗号视为点
- c# - Wpf - 如何使图片框全视图
- python-2.7 - 如果在odoo8中的on2many中选择相同的产品,如何引发异常
- python - Use function globally or locally?
- wxpython - 如何让我的 wxPython 文本编辑器变暗?
- bootstrap-4 - What is the Bootstrap 4.0+ equivalent to ".hidden-size-down/up"