sql >> Databáze >  >> RDS >> Database

SQL SELECT MAX

Funkce SQL Max() je agregační funkce v SQL. Tato funkce vrací hodnoty, které jsou v podmínce větší. Podmínkou může být číslo nebo řetězcový výraz.

Syntaxe funkce select max:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Pojďme se hluboce ponořit do SQL SELECT MAX.

Zvažte již existující tabulky, které mají následující údaje:

Název tabulky:Zaměstnanci

ID ZAMĚSTNANCE FIRST_NAME LAST_NAME PLAT MĚSTO ODDĚLENÍ ID SPRÁVCE
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 TESTOVÁNÍ 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60 000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI TESTOVÁNÍ 4

Příklad 1: Proveďte dotaz, který vyhledá maximální plat zaměstnanců z tabulky zaměstnanců.

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

Ve výše uvedeném dotazu najdeme maximální mzdu z celé tabulky zaměstnanců. Funkci Max (plat) jsme pojmenovali jako maximální plat. Mzda se po návratu výstupu zobrazí jako název sloupce.

Výstup:

MAXIMÁLNÍ PLAT
65500

Jak vidíte, maximální plat je 65 500 z tabulky zaměstnanců

Příklad 2: Proveďte dotaz pro vyhledání maximálního platu zaměstnanců, jejichž město bydliště je Bombaj, z tabulky zaměstnanců.

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

Ve výše uvedeném dotazu jsme pojmenovali max (plat) jako plat, který se zobrazí jako název sloupce, když se vrátí výstup. Našli jsme maximální plat zaměstnance v Bombaji a zobrazili název města.

Výstup:

MĚSTO PLAT
MUMBAI 60500

Jak můžete vidět, maximální plat zaměstnance, který má bydliště ve městě Bombaj, je 60 500

Příklad 3: Napište dotaz a zjistěte maximální mzdu zaměstnanců z tabulky zaměstnanců, jejichž oddělení je Java.

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

Ve výše uvedeném dotazu jsme aliasovali max (plat) jako maximum_salary, který se zobrazí jako název sloupce, když je vrácen výstup. Našli jsme maximální plat zaměstnance, jehož oddělení je Java, a zobrazili jsme název oddělení.

Výstup:

ODDĚLENÍ MAXIMÁLNÍ_PLAT
JAVA 58500

Jak vidíte, maximální plat zaměstnance z oddělení Java je 58500

Příklad 4: Napište dotaz pro zjištění maximální mzdy zaměstnanců, jejichž oddělení obsahuje jeden ze seznamů Oracle a FMW z tabulky zaměstnanců.

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

Ve výše uvedeném dotazu jsme vytvořili alias max (plat), který se zobrazí jako název sloupce, když je vrácen výstup. Našli jsme maximální plat zaměstnance, jehož oddělením je Oracle a FMW.

Výstup:

PLAT
65500

Příklad 5: Proveďte dotaz pro vyhledání maximálního platu zaměstnanců, jejichž plat je vyšší než 55 000 a město zahrnuje Noida, Dillí ze skupiny zaměstnanců podle města.

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

Ve výše uvedeném dotazu jsme pojmenovali Max (plat) jako EMPLOYEE_SALARY, který se zobrazí jako název sloupce, když je vrácen výstup. Zjistili jsme maximální plat zaměstnance, jehož plat je vyšší než 55 000. Město zaměstnance musí být také jedním ze jmen zahrnutých v parametru město IN. Použili jsme také doložku GROUP BY následovanou sloupcem města. Město Noida bude seskupeno do jednoho města všech zaměstnanců, jejichž město v Noidě a našel plat zaměstnanců, a stejný přístup je použit pro město Dillí.

Výstup:

MĚSTO ZAMĚSTNANECKÝ_PLAT
DELHI 60 000
NOIDA 60 000

Zaměstnanec bydlí ve městě Dillí, maximální plat je 60 000, a zaměstnanec bydlí ve městě Noida, maximální plat je 60 000.

Příklad 6: Proveďte dotaz k vyhledání maximálního platu zaměstnance z tabulky Zaměstnanců. Města jsou jedinečná pro skupinu zaměstnanců podle oddělení.

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

Ve výše uvedeném dotazu jsme pojmenovali max (DISTINCT plat) jako Employee_salary, který se zobrazí jako název sloupce, když se vrátí výstup. Zjistili jsme maximální plat zaměstnance z tabulky zaměstnanců s ohledem na jedinečná města ve sloupci skupiny podle oddělení.

Výstup:

ODDĚLENÍ ZAMĚSTNANECKÝ_PLAT
NOIDA 60 000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAI 60500

Příklad 7: Napište dotaz a zjistěte maximální mzdu zaměstnance z tabulky Zaměstnance jedinečné skupiny oddělení zaměstnanců podle oddělení.

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

Ve výše uvedeném dotazu jsme vytvořili alias max (DISTINCT plat) jako Employee_salary, který se zobrazí jako název sloupce, když je vrácen výstup. Zjistili jsme maximální plat zaměstnance z tabulky zaměstnanců s ohledem na jedinečná oddělení seskupená podle sloupce oddělení.

Výstup:

ODDĚLENÍ ZAMĚSTNANECKÝ_PLAT
C# 60 000
FMW 65500
JAVA 58500
ORACLE 65500
TESTOVÁNÍ 60500

Příklad 8: Proveďte dotaz a vyhledejte maximální plat zaměstnance ze skupiny tabulek zaměstnance podle oddělení, kde je max() plat větší než 55 000.

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

Ve výše uvedeném dotazu jsme pojmenovali max (plat) jako plat, který se zobrazí jako název sloupce, když se vrátí výstup. Zjistili jsme maximální plat zaměstnance z tabulky zaměstnanců, za kterým následuje skupina podle názvu oddělení a používá se s podmínkou, že max() je větší než 55 000.

Výstup:

ODDĚLENÍ ZAMĚSTNANECKÝ_PLAT
NOIDA 60 000
JAIPUR 65500
PUNE 58500
PUNE 65500
MUMBAI 60500

Jak vidíme, pouze města s celkovými platy jsou vyšší než 55 000. Mít klauzuli je jako klauzuli kde. Mít klauzuli se používá, když chceme na agregační funkci použít nějakou podmínku. Klauzuli have jsme použili pouze tehdy, když jsme v dotazu použili agregační funkci.

Příklad 9: Napište dotaz na zjištění maximální mzdy zaměstnance se skupinou notebooků podle oddělení.

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

Ve výše uvedeném dotazu jsme pojmenovali max (plat) jako plat, který se zobrazí jako název sloupce, když se vrátí výstup. Vysvětlení výše uvedeného dotazu, První dílčí dotaz bude proveden (SELECT EMPLOYEEID FROM LAPTOP); v důsledku toho získáme ID zaměstnanců, včetně hodnoty null. Po provedení dílčího dotazu se provede hlavní dotaz VYBERTE ODDĚLENÍ, MAXIMÁLNÍ (PLAT) JAKO PLAT OD ZAMĚSTNANCŮ, KDE ZAMĚSTNANCE VSTUP (výstup dílčího dotazu). V operátoru IN hlavního dotazu je id zaměstnance, které je vyvedeno z dílčího dotazu podle operátoru IN. Dostaneme náš konečný výsledek, kterým je skupina podle názvu oddělení.

Výstup:

ODDĚLENÍ PLAT
C# 60 000
JAVA 58500
ORACLE 60 000
TESTOVÁNÍ 55500


  1. Looping Over Result Sets v MySQL

  2. Jak vrátit více řádků z uložené procedury? (Oracle PL/SQL)

  3. VYTVOŘIT JAZYK plpython3u – PostgreSQL 9.6

  4. Co je pohled v Oracle?