如果我有一些UNION声明作为一个人为的例子:
SELECT * FROM xxx WHERE z = 1
UNION
SELECT * FROM xxx WHERE z = 2
UNION
SELECT * FROM xxx WHERE z = 3
Run Code Online (Sandbox Code Playgroud)
什么是默认order by
行为?
我看到的测试数据基本上不会按照上面指定的顺序返回数据.即数据是有序的,但我想知道这有什么优先规则.
另一件事是,在这种情况下,xxx是一个视图.视图将3个不同的表连接在一起以返回我想要的结果.
我将值存储到带有SQL INSERT
查询的表中
查询:
INSERT INTO tbl_Deta ([ID NO], [OR NO], [ITEM DESCRIPTION], QUANTITY, UNIT)
VALUES (6,0,'ring gauge',44,nos)
INSERT INTO tbl_Deta ([ID NO], [OR NO], [ITEM DESCRIPTION], QUANTITY, UNIT)
VALUES (6,0,'asd',14,ads)
INSERT INTO tbl_Deta ([ID NO], [OR NO], [ITEM DESCRIPTION], QUANTITY, UNIT)
VALUES (6,0,'amd',33,asd)
Run Code Online (Sandbox Code Playgroud)
结果:
[ID NO] [OR NO] [ITEM DESCRIPTION] QUANTITY UNIT
6 0 asd 14 ads
6 0 ring gauge 44 Nos
6 0 amd 33 asd
Run Code Online (Sandbox Code Playgroud)
我希望结果与插入数据的顺序相同,而不是按字母顺序排列.