Това наистина има значение където колоната е физически от select
ще ви позволи да посочите реда (логически), в който се извличат.
И ако използвате изберете *
което не ви позволява да посочите реда, вероятно не трябва да бъдете. Има много малко ситуации, в които трябва да правите това (инструменти за анализ на база данни, например), през повечето време е по-добре да изберете отделните колони, които искате, дори и да ги искате всички. Това ви позволява бързо да улавяте промените в схемата, за да можете да адаптирате програмите си към тях.
Във всеки случай самият SQL не дава гаранции за реда, в който се връщат колоните, освен ако не изрично избройте ги. изберете *
може да ви ги даде по ред днес и по азбучен ред утре. Дори ако конкретна реализация ви позволява да го направите (като създадете нова таблица с колона на „правилното“ място и копирате данните от другата страна или предоставите SQL разширение като alter table T вмъкнете колона C1 преди C2код> ), не бих го посъветвал. Той няма да бъде преносим към други реализации и предпочитам кода ми да е възможно най-преносим.
В допълнение, освен това, което можете да посочите в SQL, СУБД трябва да може напълно да контролира как той съхранява данни. Възможно е вашият първичен ключ да е съставен от седма и четиридесет и втора колона и може да е по-ефективно да ги поставите в началото на физическите записи.