Database
 sql >> Baza danych >  >> RDS >> Database

SQL WYBIERZ MAX

Funkcja SQL Max() jest funkcją agregującą w SQL. Ta funkcja zwraca wartości, które są większe w warunku. Warunkiem może być liczba lub wyrażenie tekstowe.

Składnia funkcji select max:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Przyjrzyjmy się bliżej SQL SELECT MAX.

Weź pod uwagę już istniejące tabele, które zawierają następujące dane:

Nazwa tabeli:Pracownicy

ID PRACOWNIKA FIRST_NAME LAST_NAME WYNAGRODZENIE MIASTO DZIAŁ IDENTYFIKATOR KIEROWCY
1001 VAIBHAVI MISHRA 65500 PUNE WYROCZNIA 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACI SHARMA 55500 CZANDIGAR WYROCZNIA 1
2002 PRZYJMUJ SIĘ JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 MUMBAJ C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAJ JAVA 3
4001 RAJESH GOUD 60500 MUMBAJ TESTOWANIE 4
4002 ASHWINI TORBA 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI WYROCZNIA 1
5001 ARCHIT SHARMA 55500 DELHI TESTOWANIE 4

Przykład 1: Wykonaj zapytanie, które wyszukuje maksymalną pensję pracowników z tabeli pracowników.

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

W powyższym zapytaniu znajdujemy maksymalne wynagrodzenie z całej tabeli pracowników. Nazwaliśmy funkcję Max (wynagrodzenie) jako wynagrodzenie maksymalne. Wynagrodzenie zostanie wyświetlone jako nazwa kolumny po zwróceniu danych wyjściowych.

Wyjście:

MAKS. WYNAGRODZENIE
65500

Jak widać, maksymalna pensja to 65500 z tabeli pracowników

Przykład 2: Wykonaj zapytanie, aby wyszukać w tabeli pracowników maksymalną pensję pracowników, których miejscem zamieszkania jest Bombaj.

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

W powyższym zapytaniu nazwaliśmy max (salary) jako wynagrodzenie, wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Znaleźliśmy maksymalną pensję pracownika w Bombaju i wyświetliliśmy nazwę miasta.

Wyjście:

MIASTO WYNAGRODZENIE
MUMBAJ 60500

Jak widać, maksymalna pensja pracownika zamieszkałego w Bombaju to 60500

Przykład 3: Napisz zapytanie, aby znaleźć maksymalne wynagrodzenie pracowników z tabeli pracowników, których dział to Java.

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

W powyższym zapytaniu mamy alias max (wynagrodzenie) jako max_salary, wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Znaleźliśmy maksymalną pensję pracownika, którego działem jest Java i wyświetliliśmy nazwę działu.

Wyjście:

DZIAŁ MAXIMUM_SALARY
JAVA 58500

Jak widać, maksymalna pensja pracownika działu Java to 58500

Przykład 4: Napisz zapytanie, aby znaleźć maksymalne wynagrodzenie pracowników, których dział zawiera jedną z list Oracle i FMW z tabeli pracowników.

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

W powyższym zapytaniu użyliśmy aliasu max (wynagrodzenie), wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Znaleźliśmy maksymalną pensję pracownika, którego Działem jest Oracle i FMW.

Wyjście:

WYNAGRODZENIE
65500

Przykład 5: Wykonaj zapytanie, aby wyszukać maksymalną pensję pracowników, których wynagrodzenie jest większe niż 55000 i miasto obejmuje Noida, Delhi z tabeli pracowników według miasta.

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

W powyższym zapytaniu nazwaliśmy Max (wynagrodzenie) jako EMPLOYEE_SALARY, wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Znaleźliśmy maksymalną pensję pracownika, którego pensja jest większa niż 55000. Ponadto miasto pracownika musi być jedną z nazw zawartych w parametrze city IN. Użyliśmy również klauzuli GROUP BY, po której następuje kolumna miasta. Miasto Noida zostanie zgrupowane w jedno miasto wszystkich pracowników, których miasto w Noida i znalazło pensję pracowników, i to samo podejście jest stosowane w przypadku miasta Delhi.

Wyjście:

MIASTO EMPLOYEE_SALARY
DELHI 60000
NOIDA 60000

Pracownik mieszka w mieście Delhi, maksymalna pensja to 60000, a pracownik mieszka w mieście Noida, maksymalna pensja to 60000.

Przykład 6: Wykonaj zapytanie, aby wyszukać maksymalne wynagrodzenie pracownika z tabeli pracownika. Miasta są unikalne dla pracowników pogrupowanych według działu.

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

Nazwaliśmy max (wynagrodzenie DISTINCT) jako wynagrodzenie_pracownika w powyższym zapytaniu, wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Znaleźliśmy maksymalne wynagrodzenie pracownika z tabeli pracowników, biorąc pod uwagę unikalne miasta w kolumnie grupa według działu.

Wyjście:

DZIAŁ EMPLOYEE_SALARY
NOIDA 60000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAJ 60500

Przykład 7: Napisz zapytanie, aby znaleźć maksymalną pensję pracownika z tabeli pracownika unikalny dział grup pracowników według działu.

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

W powyższym zapytaniu aliasowaliśmy max (wynagrodzenie DISTINCT) jako wynagrodzenie_pracownika, wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Znaleźliśmy maksymalne wynagrodzenie pracownika z tabeli pracowników, biorąc pod uwagę unikalne działy pogrupowane według kolumny działu.

Wyjście:

DZIAŁ EMPLOYEE_SALARY
C# 60000
FMW 65500
JAVA 58500
WYROCZNIA 65500
TESTOWANIE 60500

Przykład 8: Wykonaj zapytanie, aby wyszukać maksymalne wynagrodzenie pracownika z grupy tabel Pracownik według działu, w którym wynagrodzenie max() jest większe niż 55000.

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

W powyższym zapytaniu nazwaliśmy max (salary) jako wynagrodzenie, wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Znaleźliśmy maksymalną pensję pracownika z tabeli pracowników, a następnie pogrupowaliśmy według nazwy działu i użyliśmy warunku, w którym max() jest większe niż 55000.

Wyjście:

DZIAŁ EMPLOYEE_SALARY
NOIDA 60000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAJ 60500

Jak widać, tylko miasta z łącznymi zarobkami są większe niż 55000. Posiadanie klauzuli jest jak klauzula where. Posiadanie klauzuli jest używane, gdy chcemy zastosować jakiś warunek do funkcji agregującej. Użyliśmy klauzuli having tylko wtedy, gdy użyliśmy funkcji agregującej w zapytaniu.

Przykład 9: Napisz zapytanie, aby znaleźć maksymalną pensję pracownika z grupą laptopów przez Departament.

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

W powyższym zapytaniu nazwaliśmy max (salary) jako wynagrodzenie, wyświetlane jako nazwa kolumny po zwróceniu danych wyjściowych. Wyjaśnienie powyższego zapytania, Pierwsze podzapytanie zostanie wykonane (SELECT EMPLOYEEID FROM LAPTOP); w rezultacie otrzymamy identyfikatory pracowników, w tym wartość null. Po wykonaniu podzapytania zostanie wykonane zapytanie główne SELECT DEPARTMENT, MAX(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (wyjście podzapytania). W operatorze IN zapytania głównego znajduje się id pracownika, który jest wyprowadzany z podzapytania zgodnie z operatorem IN. Otrzymamy nasz ostateczny wynik, czyli pogrupowanie według nazwy działu.

Wyjście:

DZIAŁ WYNAGRODZENIE
C# 60000
JAVA 58500
WYROCZNIA 60000
TESTOWANIE 55500


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jednym ze sposobów na uzyskanie indeksu wyszukiwania wiodącego %wildcard

  2. Zatrzask APPEND_ONLY_STORAGE_INSERT_POINT

  3. Czym są bazy danych?

  4. Kompresja i jej wpływ na wydajność

  5. Jak wykorzystać sztuczną inteligencję do dostrajania SQL do prawdziwie zautomatyzowanego procesu