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 |