Database
 sql >> Database >  >> RDS >> Database

SQL ORDINA PER

ORDINA SQL PER

ORDINE SQL PER viene utilizzata per ordinare i dati archiviati nelle tabelle nel database . L'ordinamento può essere effettuato in modo crescente, decrescente o in base a più colonne della tabella .

In genere, l'ordinamento predefinito è crescente.

SELECT expressions
 FROM tables
 WHERE conditions
 ORDER BY expression ASC | DESC; 

Quella che segue è la sintassi di una clausola ORDER BY generale:

Esempio:

Consideriamo i seguenti Clienti tabella.

ID NOME ETÀ INDIRIZZO STIPENDIO
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgar 26000
5 Balwant singh 45 Varanasi 36000
6 Mahesh Sharma 26 Matura 22000
 SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

La query precedente ordinerà tutti i record in ordine crescente in base alle colonne NOME e STIPENDIO.

Risultato:

ID NOME ETÀ INDIRIZZO STIPENDIO
3 Ajeet bhargav 45 Meerut 65000
5 Balwant singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22000
6 Mahesh Sharma 26 Matura 22000
4 Ritesh yadav 36 Azamgar 26000
2 Shiva tiwari 22 Bhopal 21000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

La query precedente ordinerà tutti i record nella tabella in modo decrescente in base alla colonna NAME.

Risultato:

ID NOME ETÀ INDIRIZZO STIPENDIO
2 Shiva tiwari 22 Bhopal 21000
4 Ritesh yadav 36 Azamgar 26000
6 Mahesh Sharma 26 Matura 22000
1 Himani gupta 21 Modinagar 22000
5 Balwant singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65000

Ci sono vari argomenti nella clausola SQL ORDER BY. Vale a dire, sono:

  • ORDINE SQL PER ASC – Ordina i dati in modo crescente
  • ORDINE SQL PER DESC – Ordina i dati in modo decrescente
  • ORDINE SQL PER CASO – Ordina i dati casuali
  • ORDINE SQL PER LIMITE – Seleziona dati limitati dal database
  • ORDINE SQL PER colonne multiple – Ordina i dati in base a più colonne.

Discutiamo ciascuno di essi in dettaglio.

ORDINE SQL PER ASC

ORDINE SQL PER ASC La clausola ordina i dati in ordine crescente in base ad alcune colonne. In genere, l'ordinamento predefinito è crescente.

Esempio:

Consideriamo i seguenti Clienti tabella.

ID NOME ETÀ INDIRIZZO STIPENDIO
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgar 26000
5 Balwant singh 45 Varanasi 36000
6 Mahesh Sharma 26 Matura 22000
SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

La query precedente ordinerà tutti i record in ordine crescente in base alle colonne NOME e STIPENDIO.

Risultato:

ID NOME ETÀ INDIRIZZO STIPENDIO
3 Ajeet bhargav 45 Meerut 65000
5 Balwant singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22000
6 Mahesh Sharma 26 Matura 22000
4 Ritesh yadav 36 Azamgar 26000
2 Shiva tiwari 22 Bhopal 21000

ORDINE SQL PER DESC

La clausola SQL ORDER BY DESC ordina i dati in ordine decrescente in base ad alcune colonne.

Esempio:

Consideriamo i seguenti Clienti tabella.

ID NOME ETÀ INDIRIZZO STIPENDIO
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgar 26000
5 Balwant singh 45 Varanasi 36000
6 Mahesh Sharma 26 Matura 22000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

La query precedente ordinerà tutti i record nella tabella in modo decrescente in base alla colonna NAME.

Risultato:

ID NOME ETÀ INDIRIZZO STIPENDIO
2 Shiva tiwari 22 Bhopal 21000
4 Ritesh yadav 36 Azamgar 26000
6 Mahesh Sharma 26 Matura 22000
1 Himani gupta 21 Modinagar 22000
5 Balwant singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65000

ORDINE SQL PER LIMITE

La clausola SQL ORDER BY LIMIT aiuta a recuperare un numero specifico di record dalla tabella del database. Viene generalmente utilizzato in situazioni in cui esiste un gran numero di tuple che soddisfano la condizione data. Imposta un limite superiore al numero di record che vengono recuperati.

Per utilizzare la clausola LIMIT in SQL, è necessario utilizzare ROWNUM clausola con esso.

Nota:va notato che la clausola LIMIT non è supportata da tutte le versioni SQL.

Questa clausola può essere specificata utilizzando SQL 2008 OFFSET o clausole FETCH FIRST .

Esempio:

Consideriamo il seguente Studente tabella.

RollNo Nome Voto
12001 Aditya 9
12002 Sahil 6
12003 Ema 8
12004 Robin 9
12005 Sita 7
12006 Anna 10
12007 Yusuf 7
12008 Alex 5
SELECT *
 FROM Student
 LIMIT 5; 

La query precedente restituirà solo i primi 5 studenti dalla tabella Studenti.

Risultato:

12001 Aditya 9
12002 Sahil 6
12003 Ema 8
12004 Robin 9
12005 Sita 7

La clausola LIMIT può essere utilizzata anche con la clausola ORDER BY.

SELECT *
 FROM Student
 ORDER BY Grade DESC
 LIMIT 3; 

La query precedente restituirà i primi 3 studenti con i voti più alti in ordine decrescente.

Risultato:

12006 Anna 10
12001 Aditya 9
12004 Robin 9

L'operatore LIMIT è particolarmente utile in situazioni in cui è necessario recuperare dati limitati senza utilizzare alcuna istruzione condizionale.

L'operatore LIMIT può essere utilizzato anche con l'operatore OFFSET.

LIMITE con OFFSET

Si noti che il valore OFFSET deve essere maggiore di zero , e non può essere negativo. Se viene fornito un valore negativo, verrà restituito un errore.

Esempio:

Consideriamo la stessa tabella Student.

RollNo Nome Voto
12001 Aditya 9
12002 Sahil 6
12003 Ema 8
12004 Robin 9
12005 Sita 7
12006 Anna 10
12007 Yusuf 7
12008 Alex 5
SELECT *
FROM Student
LIMIT 5 OFFSET 2
ORDER BY RollNo;

Questa query restituirà i primi 5 record della tabella Student escluse le prime 2 voci.

Risultato:

RollNo Nome Voto
12003 Ema 8
12004 Robin 9
12005 Sita 7
12006 Anna 10
12007 Yusuf 7

LIMITA TUTTO

Esiste un'altra clausola simile a LIMIT nota come LIMIT ALL . La clausola LIMIT ALL non porrà alcun limite e restituirà tutte le voci della tabella.

Esempio:

Consideriamo ancora la stessa tabella Student.

RollNo Nome Voto
12001 Aditya 9
12002 Sahil 6
12003 Ema 8
12004 Robin 9
12005 Sita 7
12006 Anna 10
12007 Yusuf 7
12008 Alex 5

Query:

SELECT *
FROM Student
LIMIT ALL;
RollNo Nome Voto
12001 Aditya 9
12002 Sahil 6
12003 Ema 8
12004 Robin 9
12005 Sita 7
12006 Anna 10
12007 Yusuf 7
12008 Alex 5

ORDINE SQL PER colonne multiple

ORDINE SQL PER colonne multiple restituirà le voci di dati nella colonna ordinandole utilizzando più colonne che sono state fornite nella query.

Ordina i dati in base all'ordine dei nomi delle colonne che sono stati forniti dopo la clausola ORDER BY. Il nome delle colonne deve essere aggiunto nell'ordine corrispondente in cui l'utente desidera che avvenga l'ordinamento.

È possibile aggiungere più nomi di colonna separandoli utilizzando una virgola (,). Inoltre, le parole chiave ASC o DESC possono essere utilizzate per specificare l'ordine di ordinamento.

Esempio:

Consideriamo il seguente Dipendente tabella con quattro colonne vale a dire id, nome, cognome e stipendio.

id nome cognome stipendio
1 Lisa Ulman 3000
2 Ada Muller 2400
3 Tommaso Verde 2400
4 Michele Muller 3000
5 Maria Verde 2400

Query:

SELECT id,  
 first_name,
 last_name,
 salary
 FROM employee
 ORDER BY salary DESC, last_name; 

Risultato:

id nome cognome stipendio
4 Michele M uler 3000
1 Lisa U lman 3000
3 Tommaso G reen 2400
5 Maria G reen 2400
2 Ada M uler 2400

Quindi, prima, l'output è stato ordinato per stipendio in ordine decrescente e poi per cognome in ordine crescente. Va notato che se ASC o DESC non è menzionato, per impostazione predefinita, ordinerà entrambe le colonne in ordine crescente.

Conclusione

Quindi, sopra ci sono alcune delle clausole ORDER BY più importanti e utilizzate di frequente che vengono utilizzate quotidianamente dagli sviluppatori per eseguire operazioni specifiche sul database e recuperare i dati. Queste clausole possono essere utilizzate singolarmente oppure possono essere utilizzate anche insieme, in modo combinato, per eseguire operazioni di database.