Quando si lavora con i database, si verifica spessola necessità di visualizzare il risultato della query in un certo ordine, ad esempio in ordine alfabetico. Per questo, il DBMS ha una funzione speciale nel linguaggio SQL: l'ordinamento. Allo stesso tempo, il programmatore può scegliere quali campi e in quale ordine si verificherà per ottenere il risultato desiderato senza applicare serie capacità di programmazione.
Che cos'è l'ordinamento in un database?
Il lavoro con i database è costantemente associato auna grande quantità di informazioni che devono essere ordinate. Attualmente, esistono numerosi DBMS con un'ampia gamma di funzioni, le più popolari delle quali sono Oracle e MS SQL. L'ordinamento delle informazioni, come una delle procedure principali per lavorare con un database, è fornito da una speciale funzione incorporata in ciascuno di essi.
La classificazione dei dati semplifica il processoricerca, e anche in alcuni casi aiuta a risolvere alcuni problemi o ottimizzare il programma. L'ordinamento SQL viene eseguito da un campo selezionato separatamente e, se necessario, se sono presenti valori identici negli elementi di questo campo, è possibile specificare parametri aggiuntivi che determinano la disposizione delle righe.
Ordina comando
L'ordinamento SQL nel database è fornito dautilizzando la funzione ORDER BY. Quindi, quando si visualizzano le informazioni da un database, dopo aver specificato le colonne e le tabelle da cui verrà eseguita la lettura, è necessario specificare il comando di ordinamento nella query, quindi determinare il campo oi campi in base ai quali verrà eseguito l'ordinamento.
Ad esempio, se dalla tabella Persone è necessario ottenere dati dai campi Nome ed Età, visualizzando il risultato in ordine alfabetico in base alla colonna Nome, la seguente query ti aiuterà: SELEZIONA nome, età da persone ORDINA PER nome.
Come si imposta l'ordinamento?
Condizioni moderne fissate per i programmatoricompiti diversi, e talvolta è necessario predeterminare in quale ordine verrà visualizzato il risultato: discendente o ascendente, alfabetico o in ordine inverso? E per questo in SQL, l'ordinamento viene determinato aggiungendo una parola chiave alla query. Dopo aver selezionato i campi e le tabelle da cui ottenere le informazioni desiderate, aggiungere ORDER BY, quindi specificare il nome della colonna in base alla quale si desidera ordinare.
Per ottenere l'ordine inverso, è necessarionome specifica il parametro DESC. Se è necessario ordinare gli elementi in base a due o più criteri, le colonne vengono separate da virgole e la priorità nella classifica sarà data al campo che si trova per primo nell'elenco. Si precisa che nella disposizione degli elementi in ordine inverso, il parametro DESC prevede un solo campo, dopo il nome del quale è indicata questa parola chiave, pertanto, se necessario, deve essere specificata in tutte le colonne selezionate.
Metodi di ordinamento alternativi
In assenza della possibilità di utilizzofunzione di ordinamento SQL incorporata, puoi scrivere uno dei ben noti algoritmi. Se è necessario ottenere l'ordine più veloce degli elementi, vale la pena utilizzare il metodo "Ordinamento rapido", basato sulla divisione a metà di un array di elementi. Anche i metodi di classificazione delle bolle, in cui due elementi adiacenti vengono scambiati in caso di disallineamento, sono molto popolari, heapsort, che invia l'elemento più grande alla fine dell'elenco, e l'ordinamento per inserzione, che predetermina la posizione di ciascun elemento a turno.
La scrittura a mano dell'algoritmo non consentiràaumentare notevolmente la velocità di smistamento, tuttavia, contribuirà allo sviluppo delle capacità di programmazione, e permetterà anche di modificare il processo adeguando lo schema di classificazione a un database specifico per migliorare l'efficienza del programma.