Database
 sql >> база данни >  >> RDS >> Database

SQL SELECT MAX

Функцията SQL Max() е агрегатна функция в SQL. Тази функция връща стойностите, които са по-големи в условието. Условието може да е число или може да е низов израз.

Синтаксисът за функцията select max:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Нека се потопим дълбоко в SQL SELECT MAX.

Помислете за вече съществуващите таблици, които имат следните данни:

Име на таблицата:Служители

ИДЕНТИФИКАТОР НА СЛУЖИТЕЛЯ FIRST_NAME LAST_NAME ЗАПЛАТА ГРАД ОТДЕЛ MANAGERID
1001 VAIBHAVI МИШРА 65500 ПУНА ORACLE 1
1002 VAIBHAV ШАРМА 60 000 NOIDA C# 5
1003 НИХИЛ VANI 50500 ДЖАЙПУР FMW 2
2001 PRACHI ШАРМА 55500 ЧАНДИГАР ORACLE 1
2002 BHAVESH ДЖЕЙН 65500 ПУНА FMW 2
2003 РУЧИКА ДЖЕЙН 50 000 МУМБАЙ C# 5
3001 PRANOTI ШЕНДЕ 55500 ПУНА JAVA 3
3002 ANUJA WANRE 50500 ДЖАЙПУР FMW 2
3003 DEEPAM ДЖАУХАРИ 58500 МУМБАЙ JAVA 3
4001 РАДЖЕШ GOUD 60500 МУМБАЙ ТЕСТВАНЕ 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 РУЧИКА AGARWAL 60 000 ДЕЛХИ ORACLE 1
5001 АРХИТ ШАРМА 55500 ДЕЛХИ ТЕСТВАНЕ 4

Пример 1: Изпълнете заявка, която търси максималната заплата на служителите от таблицата на служителите.

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

В горната заявка намираме максималната заплата от цялата таблица на служителите. Нарекли сме функцията Макс (заплата) като максимална заплата. Заплатата ще се покаже като име на колоната, когато изходът се върне.

Изход:

МАКС. ЗАПЛАТА
65500

Както можете да видите, максималната заплата е 65500 от таблицата на служителите

Пример 2: Изпълнете заявка за търсене на максималната заплата на служителите, чийто град е Мумбай, от таблицата на служителите.

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

Назовахме max (заплата) като заплата в горната заявка, която се показва като име на колона, когато се връща изходът. Намерихме максималната заплата на служител в Мумбай и показахме името на града.

Изход:

ГРАД ЗАПЛАТА
МУМБАЙ 60500

Както можете да видите, максималната заплата на служител, който пребивава в град Мумбай, е 60500

Пример 3: Напишете заявка, за да намерите максималната заплата на служителите от таблицата на служителите на служителите, чийто отдел е Java.

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

В горната заявка сме поставили псевдоним max (заплата) като максимална_заплата, изведена като име на колона, когато се връща изходът. Намерихме максималната заплата на служител, чийто отдел е Java и показахме името на отдела.

Изход:

ОТДЕЛ MAXIMUM_SALARY
JAVA 58500

Както можете да видите, максималната заплата на служител от отдел Java е 58500

Пример 4: Напишете заявка, за да намерите максималната заплата на служителите, чийто отдел включва един от списъците е Oracle и FMW от таблицата на служителите.

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

Имаме псевдоним max (заплата) в горната заявка, която се показва като име на колона, когато се връща изходът. Намерихме максималната заплата на служител, чийто отдел е Oracle и FMW.

Изход:

ЗАПЛАТА
65500

Пример 5: Изпълнете заявка за търсене на максималната заплата на служителите, чиято заплата е по-голяма от 55 000 и градът включва Нойда, Делхи от таблицата на служителите група по град.

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

Назовахме Max (заплата) като EMPLOYEE_SALARY в горната заявка, която се показва като име на колона, когато се връща изходът. Намерихме максималната заплата на служител, чиято заплата е по-голяма от 55000. Освен това градът на служителя трябва да е едно от имената, включени в параметъра city IN. Използвахме и клаузата GROUP BY, последвана от колоната за град. Градът в Нойда ще бъде групиран в един град на всички служители, чийто град в Нойда и установена заплата на служителите, като същият подход се използва за град Делхи.

Изход:

ГРАД РАБОТА_ЗАПЛАТА
ДЕЛХИ 60 000
NOIDA 60 000

Служителят пребивава в град Делхи, максималната заплата е 60 000, а служителят пребивава в град Нойда, максималната заплата е 60 000.

Пример 6: Изпълнете заявка за търсене на максимална заплата на служителите от таблицата на служителите, градовете са уникални за група служители по отдел.

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

Назовахме max (DISTINCT заплата) като Employee_salary в горната заявка, която се показва като име на колона, когато се връща изходът. Намерихме максималната заплата на служителите от таблицата на служителите, като се имат предвид отделните градове в колона група по отдели.

Изход:

ОТДЕЛ РАБОТА_ЗАПЛАТА
NOIDA 60 000
ДЖАЙПУР 65500
ПУНА 58500
ПУНА 65500
МУМБАЙ 60500

Пример 7: Напишете заявка, за да намерите максималната заплата на служителите от таблицата на служителите, уникален отдел на група служители по отдел.

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

В горната заявка сме присвоили псевдонима max (DISTINCT заплата) като Employee_salary, показан като име на колона, когато се връща изходът. Намерихме максималната заплата на служителите от таблицата на служителите, като се имат предвид отделните отдели, групирани по колона на отделите.

Изход:

ОТДЕЛ РАБОТА_ЗАПЛАТА
C# 60 000
FMW 65500
JAVA 58500
ORACLE 65500
ТЕСТВАНЕ 60500

Пример 8: Изпълнете заявка за търсене на максималната заплата на служителя от групата таблици на служителя по отдел, където max() заплатата е по-голяма от 55000.

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

Назовахме max (заплата) като заплата в горната заявка, която се показва като име на колона, когато се връща изходът. Открихме максималната заплата на служителите от таблицата на служителите, последвана от група по име на отдел и използвахме условие, при което max() е по-голямо от 55 000.

Изход:

ОТДЕЛ РАБОТА_ЗАПЛАТА
NOIDA 60 000
ДЖАЙПУР 65500
ПУНА 58500
ПУНА 65500
МУМБАЙ 60500

Както виждаме, само градовете с общи заплати са по-големи от 55 000. Да имаш клауза е като клауза Къде. Наличието на клауза се използва, когато искаме да приложим някакво условие към агрегатната функция. Използвахме клауза за наличие само когато използвахме агрегатна функция в заявката.

Пример 9: Напишете заявка, за да намерите максималната заплата на служител с група лаптопи от отдела.

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

Назовахме max (заплата) като заплата в горната заявка, която се показва като име на колона, когато се връща изходът. Обяснение на горната заявка, Първата подзаявка ще бъде изпълнена (ИЗБЕРЕТЕ ИД НА СЛУЖИТЕЛ ОТ ЛАПТОПА); в резултат на това ще получим идентификаторите на служителите, включително нулевата стойност. След като подзаявката бъде изпълнена, основната заявка ще бъде изпълнена SELECT DEPARTMENT, MAX(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (изход на подзаявка). В оператора IN на основната заявка има идентификатор на служител, който се извежда от подзаявката според IN оператора. Ще получим нашия краен резултат, който е групата по име на отдел.

Изход:

ОТДЕЛ ЗАПЛАТА
C# 60 000
JAVA 58500
ORACLE 60 000
ТЕСТВАНЕ 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. Как да използвам изявлението Alter Table в SQL?

  2. Как да пишем сложни заявки в SQL

  3. SQL, Обработка на празни клетки

  4. Как да сумирате стойности на колона в SQL?

  5. Hash Какво? Разбиране на хеш индексите