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

SQL VÆLG MAKS

SQL Max()-funktionen er en aggregeret funktion i SQL. Denne funktion returnerer de værdier, der er større i tilstanden. Betingelsen kan være et tal, eller det kan være et strengudtryk.

Syntaksen for funktionen select max:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Lad os tage et dybt dyk ned i SQL SELECT MAX.

Overvej de allerede eksisterende tabeller, som har følgende data:

Tabelnavn:Medarbejdere

EMPLOYEEID FIRST_NAME LAST_NAME LØN BY AFDELING MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60.000 NOIDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50.000 MUMBAI C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI TEST 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60.000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI TEST 4

Eksempel 1: Udfør en forespørgsel, der søger efter medarbejdernes maksimale løn fra medarbejdernes tabel.

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

I ovenstående forespørgsel finder vi den maksimale løn fra hele medarbejdernes tabel. Vi har navngivet Max (løn) funktionen som max løn. Lønnen vil blive vist som kolonnenavnet, når outputtet returneres.

Output:

MAX LØN
65500

Som du kan se, er den maksimale løn 65500 fra medarbejdernes tabel

Eksempel 2: Udfør en forespørgsel for at søge efter maks. løn for medarbejdere, hvis bopælsby er Mumbai fra medarbejdernes tabel.

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

Vi har navngivet max (løn) som løn i ovenstående forespørgsel, vist som kolonnenavn, når output returneres. Vi har fundet den maksimale løn for en medarbejder i Mumbai og vist byens navn.

Output:

BY LØN
MUMBAI 60500

Som du kan se, er den maksimale løn for en medarbejder, der bor i byen Mumbai, 60500

Eksempel 3: Skriv en forespørgsel for at finde medarbejdernes maksimale løn fra medarbejdernes tabel over medarbejdere, hvis afdeling er Java.

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

I ovenstående forespørgsel har vi kaldet max (løn) som maximum_salary, vist som kolonnenavn, når output returneres. Vi har fundet den maksimale løn for en medarbejder, hvis afdeling er Java og vist afdelingsnavnet.

Output:

AFDELING MAXIMUM_SALARY
JAVA 58500

Som du kan se, er den maksimale løn for en medarbejder fra Java-afdelingen 58500

Eksempel 4: Skriv en forespørgsel for at finde den maksimale løn for medarbejdere, hvis afdeling inkluderer en af ​​listerne er Oracle og FMW fra medarbejdernes tabel.

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

Vi har aliaseret max (løn) i ovenstående forespørgsel, vist som kolonnenavn, når output returneres. Vi har fundet den maksimale løn for en medarbejder, hvis afdeling er Oracle og FMW.

Output:

LØN
65500

Eksempel 5: Udfør en forespørgsel for at søge efter maks. løn for medarbejdere, hvis løn er større end 55.000, og byen omfatter Noida, Delhi fra medarbejdernes tabel, grupper efter by.

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

Vi har navngivet Max (løn) som EMPLOYEE_SALARY i ovenstående forespørgsel, vist som et kolonnenavn, når output returneres. Vi har fundet den maksimale løn for en medarbejder, hvis løn er større end 55.000. Medarbejderbyen skal også være et af navnene, der indgår i parameteren by IN. Vi brugte også GROUP BY-sætningen efterfulgt af bykolonnen. Noida-byen vil blive grupperet i én by af alle de ansatte, hvis by i Noida og fandt medarbejdernes løn, og den samme tilgang bruges til Delhi by.

Output:

BY EMPLOYEE_SALARY
DELHI 60.000
NOIDA 60.000

Medarbejder bor i Delhi by, maks. løn er 60.000, og medarbejder bor i Noida by, maks. løn er 60.000.

Eksempel 6: Udfør en forespørgsel for at søge efter maks. medarbejderløn fra Medarbejders tabelbyer er unikke for medarbejdere grupperet efter afdeling.

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

Vi har navngivet max (DISTINCT løn) som Employee_salary i ovenstående forespørgsel, vist som kolonnenavn, når output returneres. Vi har fundet den maksimale medarbejderløn fra medarbejdernes tabel under hensyntagen til unikke byer i en gruppe for afdelingskolonne.

Output:

AFDELING EMPLOYEE_SALARY
NOIDA 60.000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAI 60500

Eksempel 7: Skriv en forespørgsel for at finde den maksimale medarbejderløn fra Medarbejderens tabel unikke afdeling af medarbejdere grupperet efter afdelingen.

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

I ovenstående forespørgsel har vi aliaseret max (DISTINCT løn) som Employee_salary, vist som kolonnenavn, når output returneres. Vi har fundet den maksimale medarbejderløn fra medarbejdernes tabel under hensyntagen til unikke afdelinger grupperet efter afdelingskolonne.

Output:

AFDELING EMPLOYEE_SALARY
C# 60.000
FMW 65500
JAVA 58500
ORACLE 65500
TEST 60500

Eksempel 8: Udfør en forespørgsel for at søge efter den maksimale løn for medarbejderen fra den ansattes tabelgruppe af afdelingen, hvor max() løn er større end 55.000.

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

Vi har navngivet max (løn) som løn i ovenstående forespørgsel, vist som kolonnenavn, når output returneres. Vi har fundet maksimal medarbejderløn fra medarbejdernes tabel efterfulgt af gruppe efter afdelingsnavn og brugt med en betingelse, hvor max() er større end 55000.

Output:

AFDELING EMPLOYEE_SALARY
NOIDA 60.000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAI 60500

Som vi kan se, er det kun byer med samlede lønninger, der er større end 55.000. At have en klausul er ligesom hvor-klausul. At have en klausul bruges, når vi ønsker at anvende en betingelse på den samlede funktion. Vi brugte kun have-sætning, når vi brugte aggregatfunktion i forespørgslen.

Eksempel 9: Skriv en forespørgsel for at finde en medarbejders maksimale løn med en bærbar gruppe af afdelingen.

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

Vi har navngivet max (løn) som løn i ovenstående forespørgsel, vist som kolonnenavn, når output returneres. Forklaring af ovenstående forespørgsel. Første underforespørgsel vil blive udført (VÆLG MEDARBEJDER FRA LAPTOP); som et resultat, vil vi få medarbejder-id'erne, inklusive null-værdien. Efter at underforespørgslen er udført, vil hovedforespørgslen blive udført VÆLG AFDELING, MAKS(LØN) SOM LØN FRA MEDARBEJDERE, HVOR MEDARBEJDER IND (output af underforespørgsel). I IN-operatøren for hovedforespørgslen er der en medarbejders id, som udlæses fra underforespørgslen ifølge IN-operatøren. Vi får vores endelige resultat, som er gruppen efter afdelingsnavn.

Output:

AFDELING LØN
C# 60.000
JAVA 58500
ORACLE 60.000
TEST 55500


  1. MySQL LOG2() Funktion – Returner base-2 logaritmen for en værdi

  2. MySQL-søgning i kommaliste

  3. PostgreSQL OPRET TABEL

  4. Funktionen MySQL ROUND() – Afrund et tal til et givet antal decimaler