有一个Table A
Table A
有3列:Col1,Col2和Col3。
(Col1和col2是table A
)
该表的现有记录是
查询:select * from A
OUTPUT COL1 COL2 COL3 1 2 3 1 2 5
如果插入了新记录,则为值(1,2,6)
是否保证新查询结果
1 2 3
1 2 5
1 2 6
或者它可能会导致下表,因为插入也可以插入第一行:
1 2 6
1 2 3
1 2 5
如果我的select查询返回像这样的输出
1 2 6
1 2 3
1 2 5
sql查询是
select * from A where field1=1 and field2 = 2;
是否有必要始终返回此序列,或者这可能会有所不同?
答案 0 :(得分:1)
简短的回答是否定的。
除非添加ORDER BY子句,否则无法保证SELECT查询的顺序。如果您希望保证订单,您可以编写如下查询:
SELECT field1, field2, field3
FROM a
ORDER BY field3;
有时可以通过某些方式完成ORDER(例如,如果执行了UNION),但无法保证。