sql >> Database >  >> RDS >> Database

SQL SELECTEER MAX

De functie SQL Max() is een aggregatiefunctie in SQL. Deze functie retourneert de waarden die groter zijn in de voorwaarde. De voorwaarde kan een getal zijn of een tekenreeksuitdrukking.

De syntaxis voor de functie max. selecteren:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Laten we een diepe duik nemen in de SQL SELECT MAX.

Overweeg de reeds bestaande tabellen, die de volgende gegevens hebben:

Tabelnaam:Werknemers

WERKNEMER-ID FIRST_NAME LAST_NAME SALARIS STAD AFDELING MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORAKLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORAKLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 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 TESTEN 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI ORAKLE 1
5001 ARCHIT SHARMA 55500 DELHI TESTEN 4

Voorbeeld 1: Voer een zoekopdracht uit die het maximale salaris van werknemers zoekt in de werknemerstabel.

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

In de bovenstaande zoekopdracht vinden we het maximale salaris uit de hele werknemerstabel. We hebben de Max (salaris) functie benoemd tot max salaris. Het salaris wordt weergegeven als de kolomnaam wanneer de output wordt geretourneerd.

Uitvoer:

MAX SALARIS
65500

Zoals u kunt zien, is het maximale salaris 65500 uit de werknemerstabel

Voorbeeld 2: Voer een zoekopdracht uit om het maximale salaris te zoeken van werknemers wiens woonplaats Mumbai is vanuit de werknemerstabel.

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

We hebben max (salaris) genoemd als salaris in de bovenstaande zoekopdracht, weergegeven als kolomnaam wanneer output wordt geretourneerd. We hebben het maximale salaris van een werknemer in Mumbai gevonden en de plaatsnaam weergegeven.

Uitvoer:

STAD SALARIS
MUMBAI 60500

Zoals u kunt zien, is het maximale salaris van een werknemer die in de stad Mumbai woont 60500

Voorbeeld 3: Schrijf een zoekopdracht om het maximumsalaris van de werknemers te vinden in de werknemerstabel met werknemers van wie de afdeling Java is.

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

In de bovenstaande query hebben we max (salaris) gealiast als maximum_salary, weergegeven als kolomnaam wanneer uitvoer wordt geretourneerd. We hebben het maximale salaris gevonden van een medewerker wiens afdeling Java is en hebben de afdelingsnaam weergegeven.

Uitvoer:

AFDELING MAXIMUM_SALARY
JAVA 58500

Zoals u kunt zien, is het maximale salaris van een medewerker van de Java-afdeling 58500

Voorbeeld 4: Schrijf een zoekopdracht om het maximale salaris te vinden van werknemers van wie de afdeling een van de lijsten Oracle en FMW bevat uit de werknemerstabel.

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

We hebben max (salaris) als alias gebruikt in de bovenstaande query, weergegeven als kolomnaam wanneer uitvoer wordt geretourneerd. We hebben het maximale salaris gevonden van een werknemer wiens afdeling Oracle en FMW is.

Uitvoer:

SALARIS
65500

Voorbeeld 5: Voer een zoekopdracht uit om het maximale salaris te zoeken van werknemers met een salaris van meer dan 55000 en de stad omvat Noida, Delhi uit de tabel van de werknemers per stad.

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

We hebben Max (salaris) genoemd als WERKNEMER_SALARY in de bovenstaande query, weergegeven als een kolomnaam wanneer uitvoer wordt geretourneerd. We hebben het maximale salaris gevonden van een werknemer wiens salaris hoger is dan 55000. Ook moet de woonplaats van de werknemer een van de namen zijn die zijn opgenomen in de parameter stad IN. We gebruikten ook de GROUP BY-clausule gevolgd door de kolom stad. De stad Noida zal worden gegroepeerd in één stad van alle werknemers wiens stad in Noida is en het salaris van de werknemers hebben gevonden, en dezelfde aanpak wordt gebruikt voor de stad Delhi.

Uitvoer:

STAD EMPLOYEE_SALARY
DELHI 60000
NOIDA 60000

Werknemer woont in de stad Delhi, het maximale salaris is 60000 en de werknemer woont in de stad Noida, het maximale salaris is 60000.

Voorbeeld 6: Voer een zoekopdracht uit om het maximale werknemerssalaris te zoeken in de tabelsteden van de werknemer zijn uniek voor werknemersgroep per afdeling.

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

We hebben max (DISTINCT salaris) genoemd als Employee_salary in de bovenstaande zoekopdracht, weergegeven als kolomnaam wanneer output wordt geretourneerd. We hebben het maximale werknemerssalaris gevonden in de tabel met werknemers, rekening houdend met unieke steden in een groep per afdelingskolom.

Uitvoer:

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

Voorbeeld 7: Schrijf een zoekopdracht om het maximale werknemerssalaris te vinden uit de unieke afdeling werknemersgroep van de werknemer per afdeling.

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

In de bovenstaande query hebben we max (DISTINCT-salaris) als alias Werknemer_salaris weergegeven, weergegeven als kolomnaam wanneer uitvoer wordt geretourneerd. We hebben het maximale werknemerssalaris gevonden in de werknemerstabel, rekening houdend met unieke afdelingen gegroepeerd per afdelingskolom.

Uitvoer:

AFDELING EMPLOYEE_SALARY
C# 60000
FMW 65500
JAVA 58500
ORAKLE 65500
TESTEN 60500

Voorbeeld 8: Voer een zoekopdracht uit om het maximale salaris van de werknemer te zoeken in de tabelgroep van de werknemer op de afdeling waar max() salaris groter is dan 55000.

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

We hebben max (salaris) genoemd als salaris in de bovenstaande zoekopdracht, weergegeven als kolomnaam wanneer output wordt geretourneerd. We hebben het maximale werknemerssalaris gevonden in de tabel met werknemers, gevolgd door groep op afdelingsnaam en gebruikt met een voorwaarde waarbij max() groter is dan 55000.

Uitvoer:

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

Zoals we kunnen zien, zijn alleen steden met geaggregeerde salarissen hoger dan 55000. Het hebben van een clausule is zoals een clausule. Het hebben van een clausule wordt gebruikt wanneer we een voorwaarde willen toepassen op de aggregatiefunctie. We gebruikten het hebben van clausule alleen wanneer we de aggregatiefunctie in de query gebruikten.

Voorbeeld 9: Schrijf een zoekopdracht om het maximale salaris van een werknemer te vinden met een laptopgroep van de afdeling.

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

We hebben max (salaris) genoemd als salaris in de bovenstaande zoekopdracht, weergegeven als kolomnaam wanneer output wordt geretourneerd. Uitleg van de bovenstaande query, de eerste subquery wordt uitgevoerd (SELECTEER WERKNEMER VAN LAPTOP); als resultaat krijgen we de werknemers-ID's, inclusief de null-waarde. Nadat de subquery is uitgevoerd, wordt de hoofdquery uitgevoerd. SELECT AFDELING, MAX(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (output van subquery). In de IN-operator van de hoofdquery is er een medewerker-ID, die wordt uitgevoerd uit de subquery volgens de IN-operator. We krijgen ons eindresultaat, de groep op afdelingsnaam.

Uitvoer:

AFDELING SALARIS
C# 60000
JAVA 58500
ORAKLE 60000
TESTEN 55500


  1. SQL-rijen naar kolommen

  2. ReadyCloud ReadyShipper X

  3. MySQL-groep per SUM

  4. Voordelen en nadelen van het gebruik van opgeslagen procedures