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

SQL-AUSWAHL MAX

Die Funktion SQL Max() ist eine Aggregatfunktion in SQL. Diese Funktion gibt die Werte zurück, die in der Bedingung größer sind. Die Bedingung kann eine Zahl oder ein Zeichenfolgenausdruck sein.

Die Syntax für die Select-Max-Funktion:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Lassen Sie uns tief in SQL SELECT MAX eintauchen.

Betrachten Sie die bereits vorhandenen Tabellen, die die folgenden Daten enthalten:

Tabellenname:Mitarbeiter

MITARBEITERID FIRST_NAME NACHNAME GEHALT STADT ABTEILUNG MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NICHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUSCHIKA JAIN 50000 MUMBAI C# 5
3001 PRANOTI SCHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOLD 60500 MUMBAI TESTEN 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUSCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI TESTEN 4

Beispiel 1: Führen Sie eine Abfrage aus, die das maximale Gehalt der Mitarbeiter aus der Mitarbeitertabelle sucht.

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

In der obigen Abfrage finden wir das maximale Gehalt aus der gesamten Mitarbeitertabelle. Wir haben die Funktion Max (Gehalt) als maximales Gehalt bezeichnet. Das Gehalt wird als Spaltenname angezeigt, wenn die Ausgabe zurückgegeben wird.

Ausgabe:

MAX GEHALT
65500

Wie Sie sehen können, beträgt das maximale Gehalt 65500 aus der Mitarbeitertabelle

Beispiel 2: Führen Sie eine Abfrage aus, um das maximale Gehalt von Mitarbeitern mit Wohnort Mumbai in der Mitarbeitertabelle zu suchen.

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

Wir haben in der obigen Abfrage max (Gehalt) als Gehalt benannt, das als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Wir haben das maximale Gehalt eines Mitarbeiters in Mumbai gefunden und den Namen der Stadt angezeigt.

Ausgabe:

STADT GEHALT
MUMBAI 60500

Wie Sie sehen können, beträgt das maximale Gehalt eines Mitarbeiters mit Wohnsitz in der Stadt Mumbai 60500

Beispiel 3: Schreiben Sie eine Abfrage, um das maximale Gehalt der Mitarbeiter aus der Mitarbeitertabelle der Mitarbeiter zu ermitteln, deren Abteilung Java ist.

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

In der obigen Abfrage haben wir max (Gehalt) als maximum_salary aliased, das als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Wir haben das maximale Gehalt eines Mitarbeiters gefunden, dessen Abteilung Java ist, und den Abteilungsnamen angezeigt.

Ausgabe:

ABTEILUNG MAXIMUM_GEHALT
JAVA 58500

Wie Sie sehen, beträgt das Höchstgehalt eines Mitarbeiters aus der Java-Abteilung 58500

Beispiel 4: Schreiben Sie eine Abfrage, um das maximale Gehalt von Mitarbeitern zu finden, deren Abteilung eine der Listen enthält, nämlich Oracle und FMW, aus der Mitarbeitertabelle.

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

Wir haben in der obigen Abfrage den Alias ​​max (Gehalt) verwendet, der als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Wir haben das maximale Gehalt eines Mitarbeiters gefunden, dessen Abteilung Oracle und FMW ist.

Ausgabe:

GEHALT
65500

Beispiel 5: Führen Sie eine Abfrage aus, um das maximale Gehalt von Mitarbeitern zu suchen, deren Gehalt über 55.000 liegt und deren Stadt Noida, Delhi umfasst, aus der Mitarbeitertabellengruppe nach Stadt.

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

Wir haben Max (Gehalt) in der obigen Abfrage als EMPLOYEE_SALARY benannt, das als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Wir haben das maximale Gehalt eines Mitarbeiters ermittelt, dessen Gehalt über 55000 liegt. Außerdem muss die Stadt des Mitarbeiters einer der Namen sein, die im IN-Parameter der Stadt enthalten sind. Wir haben auch die GROUP BY-Klausel gefolgt von der Stadtspalte verwendet. Die Stadt Noida wird in eine Stadt aller Angestellten gruppiert, deren Stadt in Noida liegt, und das Gehalt der Angestellten gefunden, und der gleiche Ansatz wird für die Stadt Delhi verwendet.

Ausgabe:

STADT EMPLOYEE_SALARY
DELHI 60000
NOIDA 60000

Der Mitarbeiter lebt in der Stadt Delhi, das maximale Gehalt beträgt 60000, und der Mitarbeiter lebt in der Stadt Noida, das maximale Gehalt beträgt 60000.

Beispiel 6: Führen Sie eine Abfrage aus, um das maximale Mitarbeitergehalt in der Mitarbeitertabelle zu suchen. Städte sind für die Mitarbeitergruppe nach Abteilung eindeutig.

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

In der obigen Abfrage haben wir max (DISTINCT-Gehalt) als Employee_salary benannt, das als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Wir haben das maximale Mitarbeitergehalt aus der Mitarbeitertabelle unter Berücksichtigung eindeutiger Städte in einer Gruppierung nach Abteilungsspalte ermittelt.

Ausgabe:

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

Beispiel 7: Schreiben Sie eine Abfrage, um das maximale Mitarbeitergehalt aus der Tabelle „Employee“ (eindeutige Abteilung der Mitarbeiter) nach Abteilung zu finden.

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

In der obigen Abfrage haben wir max (DISTINCT-Gehalt) als Employee_salary aliased, das als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Wir haben das maximale Mitarbeitergehalt aus der Mitarbeitertabelle unter Berücksichtigung eindeutiger Abteilungen, gruppiert nach Abteilungsspalte, ermittelt.

Ausgabe:

ABTEILUNG EMPLOYEE_SALARY
C# 60000
FMW 65500
JAVA 58500
ORACLE 65500
TESTEN 60500

Beispiel 8: Führen Sie eine Abfrage aus, um das maximale Gehalt des Mitarbeiters in der Tabellengruppe „Employee“ nach Abteilung zu suchen, wobei das max()-Gehalt größer als 55000 ist.

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

Wir haben in der obigen Abfrage max (Gehalt) als Gehalt benannt, das als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Wir haben das maximale Mitarbeitergehalt aus der Mitarbeitertabelle gefunden, gefolgt von der Gruppe nach Abteilungsnamen und einer Bedingung, bei der max() größer als 55000 ist.

Ausgabe:

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

Wie wir sehen können, sind nur Städte mit Gesamtgehältern größer als 55000. Eine Klausel zu haben ist wie eine Where-Klausel. Eine Klausel zu haben wird verwendet, wenn wir eine Bedingung auf die Aggregatfunktion anwenden möchten. Wir haben die Having-Klausel nur verwendet, wenn wir die Aggregatfunktion in der Abfrage verwendet haben.

Beispiel 9: Schreiben Sie eine Abfrage, um das maximale Gehalt eines Mitarbeiters mit einer Laptop-Gruppe der Abteilung zu ermitteln.

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

Wir haben in der obigen Abfrage max (Gehalt) als Gehalt benannt, das als Spaltenname angezeigt wird, wenn die Ausgabe zurückgegeben wird. Erläuterung der obigen Abfrage, Erste Unterabfrage wird ausgeführt (SELECT EMPLOYEEID FROM LAPTOP); Als Ergebnis erhalten wir die Mitarbeiter-IDs, einschließlich des Nullwerts. Nachdem die Unterabfrage ausgeführt wurde, wird die Hauptabfrage ausgeführt SELECT DEPARTMENT, MAX(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (Ausgabe der Unterabfrage). Im IN-Operator der Hauptabfrage befindet sich eine Mitarbeiter-ID, die von der Unterabfrage entsprechend dem IN-Operator ausgegeben wird. Wir erhalten unser Endergebnis, nämlich die Gruppe nach Abteilungsnamen.

Ausgabe:

ABTEILUNG GEHALT
C# 60000
JAVA 58500
ORACLE 60000
TESTEN 55500