Sintassi:
>> SELECT * FROM nome_tabella ORDER BY espressione ASC|DESC>>SELECT espressione FROM nome_tabella ORDER BY espressione ASC|DESC
>> SELECT espressione FROM nome_tabella WHERE condizione ORDER BY espressione ASC|DESC
Diamo uno sguardo alla spiegazione di una query.
- Nome_tabella: nome di una tabella da cui ottenere i dati
- Espressione: nome di una colonna da recuperare o nome di una colonna utilizzata per organizzare i dati.
- ASC: Utilizzato per classificare i dati in ordine crescente. È facoltativo.
- DESC: Utilizzato per disporre i dati in ordine decrescente. È facoltativo
- DOVE condizione: È un vincolo facoltativo da utilizzare.
Inizia con l'apertura della shell del client da riga di comando MySQL per iniziare a lavorare sull'ordinamento. Potrebbe richiedere la tua password MySQL. Digita la password e tocca Invio per continuare.
Esempio: Ordina senza clausola ORDER BY (ASC o DESC):
Per elaborare l'ordinamento con la clausola ORDER BY, abbiamo iniziato il nostro primo esempio senza utilizzare la clausola ORDER BY. Abbiamo una tabella "insegnante" nello schema "dati" di MySQL con alcuni record al suo interno. Quando vuoi recuperare i dati da questa tabella, li otterrai così com'è, come è stato inserito nella tabella senza eseguire un ordinamento aggiuntivo, come presentato di seguito.
>> SELEZIONA * DAI dati.insegnante;
Esempio: Ordina con ORDER BY Nome colonna senza ASC|DESC:
Prendendo la stessa tabella con una piccola modifica nella query SELECT. Abbiamo specificato il nome di una colonna in base alla quale verrà ordinata l'intera tabella. Abbiamo usato la colonna "id" per ordinare la tabella. Poiché non abbiamo definito il tipo di ordinamento, e.g., Crescente o decrescente, ecco perché verrà automaticamente ordinato in ordine crescente di "id".
>> SELEZIONA * DAI dati.insegnante ORDER BY id;
Ordiniamo la stessa tabella senza utilizzare l'espressione ASC o DESC nell'istruzione SELECT mentre si utilizza un'altra colonna. Ordineremo questa tabella ORDER BY nella colonna "soggetto". Tutti i dati nella colonna "oggetto" verranno prima ordinati alfabeticamente; quindi, l'intera tabella verrà ordinata in base ad essa.
>> SELEZIONA * DAI dati.docente ORDINA PER materia;
Adesso. Ordineremo la tabella 'insegnante', secondo la colonna 'qualifica'. Questa query ordinerà prima la colonna "qualificazione" in ordine alfabetico. Successivamente, tutti i record vengono ordinati in base a questa colonna come di seguito.
>> SELEZIONA * DAI dati.insegnante ORDER BY qualifica;
Puoi anche recuperare i dati della colonna specificata dalla tabella con la clausola ORDER BY. Mostriamo i dati a tre colonne della tabella "insegnante" e ordiniamo questi dati in base alla colonna "nome". Otterremo un record ordinato su tre colonne come mostrato.
>> SELEZIONA nome, materia, qualifica DA dati.insegnante ORDINA PER nome;
Esempio: Ordina con ORDER BY Nome colonna singola con ASC|DESC:
Ora eseguiremo la stessa query con un piccolo cambiamento nella sua sintassi. Specifichiamo il tipo di ordinamento durante la definizione del nome della colonna nella query. Recuperiamo il record di quattro colonne: nome, cognome, soggetto e qualifica da una tabella "insegnante" mentre ordiniamo questo record in base alla colonna "nome" in ordine crescente. Ciò significa che la colonna "nome" verrà ordinata prima in ordine crescente, quindi tutti i dati che la riguardano verranno ordinati.
>> SELEZIONA nome, cognome, materia, qualifica DA dati.insegnante ORDINA PER nome ASC;
Secondo l'ordine decrescente della colonna 'firstname', l'ordinamento dello stesso record di quattro colonne' è il seguente.
>> SELEZIONA nome, cognome, materia, qualifica DA dati.docente ORDINA PER materia DESC;
Il recupero della tabella completa "insegnante" mentre si utilizza la colonna "nome" in ordine crescente è il seguente.
>> SELEZIONA * DAI dati.insegnante ORDINA PER nome ASC;
Recuperiamo l'intera tabella in ordine decrescente della colonna 'id' come di seguito.
>> SELEZIONA * DAI dati.docente ORDER BY id DESC;
Esempio: Ordina con ORDER BY Nome colonna multipla con ASC|DESC:
sì! Puoi facilmente ordinare la tua tabella con più colonne. Devi solo specificare la clausola ORDER BY mentre una virgola separa ogni nome di colonna con il suo tipo di ordinamento. Diamo uno sguardo a un semplice esempio. Abbiamo selezionato i dati a quattro colonne da una tabella. In primo luogo, questi dati verranno ordinati in base alla colonna "id" in ordine decrescente, quindi in ordine decrescente in base alla colonna "nome".
>> SELEZIONA id, nome, soggetto, qualifica FROM dati.insegnante ORDER BY id DESC, nome ASC;
Esempio: Ordina con ORDER BY con clausola WHERE:
Come sappiamo che la clausola WHERE viene utilizzata per eseguire alcune condizioni sui dati. Possiamo facilmente ordinare i nostri dati utilizzando la clausola WHERE e recuperarli in base ad essa. Abbiamo eseguito una semplice query in cui abbiamo recuperato tutti i record dalla tabella "insegnante" in cui "id" è maggiore di 4 e la "qualifica" di un insegnante è "Mphil". Questa query recupererà i record degli insegnanti la cui qualifica è uguale a MPhil e il loro "id" non è inferiore a 5. Successivamente, questi dati verranno ordinati in ordine decrescente degli "id" degli insegnanti come mostrato nell'immagine.
>> SELEZIONA * DAI dati.docente WHERE id > 4 AND qualifica = 'MPhil' ORDER BY id DESC;
Se vuoi recuperare le colonne specificate da una tabella, puoi anche farlo. Facciamo come di seguito.
>> SELEZIONA id, nome, soggetto, qualifica DA dati.insegnante WHERE id > 2 AND id < 11 AND subject = 'Math' ORDER BY qualification DESC;
Conclusione:
Abbiamo fatto quasi tutti gli esempi per imparare la clausola ORDER BY per ordinare i record. Spero che questo articolo ti aiuti a ordinare i risultati in MySQL.