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

SELEZIONA SQL MAX

La funzione SQL Max() è una funzione aggregata in SQL. Questa funzione restituisce i valori che sono maggiori nella condizione. La condizione può essere un numero o un'espressione stringa.

La sintassi per la funzione select max:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Diamo un'occhiata a SQL SELECT MAX.

Considera le tabelle già esistenti, che hanno i seguenti dati:

Nome tabella:Dipendenti

ID DIPENDENTE FIRST_NAME COGNOME STIPENDIO CITTÀ REPARTO RIDESTORE
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NICHIL VANI 50500 JAIPUR FM 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FM 2
2003 RUCHIKA JAIN 50000 MUMBAI C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FM 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI PROVA 4
4002 ASHWINI BAGAGLIO 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI PROVA 4

Esempio 1: Esegui una query che ricerca lo stipendio massimo dei dipendenti dalla tabella dei dipendenti.

SELECT MAX (SALARY) AS 'MAXSALARY' FROM EMPLOYEES;

Nella query di cui sopra, troviamo lo stipendio massimo dall'intera tabella dei dipendenti. Abbiamo chiamato la funzione Max (stipendio) come stipendio massimo. Lo stipendio verrà visualizzato come nome della colonna quando viene restituito l'output.

Risultato:

STIPENDIO MASSIMO
65500

Come puoi vedere, lo stipendio massimo è di 65500 dal tavolo dei dipendenti

Esempio 2: Esegui una query per cercare lo stipendio massimo dei dipendenti la cui città di residenza è Mumbai dalla tabella dei dipendenti.

SELECT CITY, MAX(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE CITY = 'MUMBAI';

Abbiamo chiamato max (stipendio) come stipendio nella query precedente, visualizzato come nome della colonna quando viene restituito l'output. Abbiamo trovato lo stipendio massimo di un dipendente a Mumbai e mostrato il nome della città.

Risultato:

CITTÀ STIPENDIO
MUMBAI 60500

Come puoi vedere, lo stipendio massimo di un dipendente che risiede nella città di Mumbai è di 60500

Esempio 3: Scrivi una query per trovare lo stipendio massimo dei dipendenti dalla tabella dei dipendenti il ​​cui dipartimento è Java.

SELECT DEPARTMENT, MAX(SALARY) AS 'MAXIMUM_SALARY'  FROM EMPLOYEES WHERE DEPARTMENT = 'JAVA';

Nella query precedente, abbiamo alias max (salary) come maximum_salary, visualizzato come nome della colonna quando viene restituito l'output. Abbiamo trovato lo stipendio massimo di un dipendente il cui dipartimento è Java e visualizzato il nome del dipartimento.

Risultato:

REPARTO MAXIMUM_SALARY
JAVA 58500

Come puoi vedere, lo stipendio massimo di un dipendente del dipartimento Java è 58500

Esempio 4: Scrivi una query per trovare lo stipendio massimo dei dipendenti il ​​cui Dipartimento include uno degli elenchi è Oracle e FMW dalla tabella dei dipendenti.

SELECT MAX(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE DEPARTMENT IN ('ORACLE', 'FMW');

Abbiamo alias max (stipendio) nella query precedente, visualizzato come nome di colonna quando viene restituito l'output. Abbiamo trovato lo stipendio massimo di un dipendente il cui Dipartimento è Oracle e FMW.

Risultato:

STIPENDIO
65500

Esempio 5: Esegui una query per cercare lo stipendio massimo dei dipendenti il ​​cui stipendio è superiore a 55000 e la città include Noida, Delhi dal gruppo di tabelle dei dipendenti per città.

SELECT CITY, MAX(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 55000 AND CITY IN ('NOIDA', 'DELHI') GROUP BY CITY;

Abbiamo chiamato Max (stipendio) come EMPLOYEE_SALARY nella query precedente, visualizzato come nome di colonna quando viene restituito l'output. Abbiamo trovato lo stipendio massimo di un dipendente il cui stipendio è maggiore di 55000. Inoltre, la città del dipendente deve essere uno dei nomi inclusi nel parametro città IN. Abbiamo anche utilizzato la clausola GROUP BY seguita dalla colonna della città. La città di Noida sarà raggruppata in una città di tutti i dipendenti la cui città è a Noida e ha trovato lo stipendio dei dipendenti, e lo stesso approccio viene utilizzato per la città di Delhi.

Risultato:

CITTÀ DIPENDENTE_SALARIO
DELHI 60000
NOIDA 60000

Il dipendente risiede nella città di Delhi, lo stipendio massimo è 60000 e il dipendente risiede nella città di Noida, lo stipendio massimo è 60000.

Esempio 6: Esegui una query per cercare lo stipendio massimo dei dipendenti dalla tabella dei dipendenti Le città sono uniche del gruppo di dipendenti per Dipartimento.

SELECT CITY, MAX(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY DEPARTMENT;

Abbiamo chiamato max (stipendio DISTINCT) come Employee_salary nella query precedente, visualizzato come nome della colonna quando viene restituito l'output. Abbiamo trovato lo stipendio massimo dei dipendenti dalla tabella dei dipendenti considerando le città uniche in una colonna gruppo per dipartimento.

Risultato:

REPARTO DIPENDENTE_SALARIO
NOIDA 60000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAI 60500

Esempio 7: Scrivi una query per trovare lo stipendio massimo del dipendente dalla tabella dei dipendenti gruppo unico di dipendenti per dipartimento.

SELECT DEPARTMENT, MAX(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY DEPARTMENT;

Nella query precedente, abbiamo alias max (stipendio DISTINCT) come salario_impiegato, visualizzato come nome della colonna quando viene restituito l'output. Abbiamo trovato lo stipendio massimo del dipendente dalla tabella dei dipendenti considerando i reparti unici raggruppati per colonna del reparto.

Risultato:

REPARTO DIPENDENTE_SALARIO
C# 60000
FM 65500
JAVA 58500
ORACLE 65500
PROVA 60500

Esempio 8: Eseguire una query per cercare lo stipendio massimo dell'impiegato dal gruppo di tabelle dell'impiegato dal Dipartimento in cui lo stipendio max() è maggiore di 55000.

SELECT CITY, MAX(SALARY) AS SALARY FROM EMPLOYEES GROUP BY DEPARTMENT HAVING MAX(SALARY) > 55000;

Abbiamo chiamato max (stipendio) come stipendio nella query precedente, visualizzato come nome della colonna quando viene restituito l'output. Abbiamo trovato lo stipendio massimo dei dipendenti dalla tabella dei dipendenti seguita dal gruppo per nome del dipartimento e utilizzata con una condizione in cui max() è maggiore di 55000.

Risultato:

REPARTO DIPENDENTE_SALARIO
NOIDA 60000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAI 60500

Come possiamo vedere, solo le città con salari aggregati sono maggiori di 55000. Avere una clausola è come la clausola dove. Avere una clausola viene utilizzato quando vogliamo applicare una condizione alla funzione di aggregazione. Abbiamo utilizzato la clausola having solo quando abbiamo utilizzato la funzione di aggregazione nella query.

Esempio 9: Scrivi una query per trovare lo stipendio massimo di un dipendente con un gruppo di laptop dal Dipartimento.

SELECT DEPARTMENT, MAX(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT;

Abbiamo chiamato max (stipendio) come stipendio nella query precedente, visualizzato come nome della colonna quando viene restituito l'output. Spiegazione della query precedente, verrà eseguita la prima sottoquery (SELECT EMPLOYEEID FROM LAPTOP); di conseguenza, otterremo gli ID dei dipendenti, incluso il valore null. Dopo che la sottoquery è stata eseguita, la query principale verrà eseguita SELECT REPARTMENT, MAX(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (output of sub-query). Nell'operatore IN della query principale è presente un ID dipendente, che viene emesso dalla sottoquery in base all'operatore IN. Otterremo il nostro risultato finale che è il gruppo per nome del dipartimento.

Risultato:

REPARTO STIPENDIO
C# 60000
JAVA 58500
ORACLE 60000
PROVA 55500