2016-06-17 3 views
-1

당신은의 출력과 같은 방법으로 정렬됩니다SQL의 출력 순서

select * from table1; 

에 의해 반환 된 그 출력을 가정하는 것이 안전하다 말할 것 table1의?

감사합니다.

+0

내가 볼 수없는 조항에 의해 순서를 사용하여 설정해야합니다 선택한 행에 대한 결과가 특정 순서의 확인하려면 왜 안 되니? –

+2

DBMS 소프트웨어 (SQL Server, MySQL 등)에 따라 다를 수 있지만 일반적으로 주문은 보장되지 않습니다. 디. – Nicarus

+2

명시 적으로 지정하지 않으면 순서가 보장되지 않지만 확실히 DBMS에 따라 다릅니다. – shamsup

답변

1

열을 의미하는 경우 SSMS에서 표를 편집 할 때 순서와 다른 것을 본 적이 없지만 어려운 규칙인지 확실하지 않습니다.

행의 고유 순서가 없습니다. 정렬이없는 경우 똑같은 질의가 매번 동일한 순서로 행을 반환한다고 보장 할 수 없습니다. 클러스터 PK가 절

이것은 DUP 수있다

에 의해 순서없이 순서대로 행을 반환 보장 할 수 없습니다와

이 같은

select * from table1 
order by table1.PK; 

select * from table1 where table1.a<0 
order by table1.PK; 

에도 테이블이 될 것입니다. 나는 하나를 찾아 삭제할 것이다.

0

열의 순서는 데이터베이스 스키마에서 정의되므로 select *에있는 열의 반환 된 순서를 항상 고려해야합니다 (열 순서를 변경하려면 스키마에서이 값을 변경하는 명령이 있습니다. 테이블)

행의 주문 번호 ... 당신은 당신이 explicitally

select * from your_table 
order by your_column