Database
 sql >> Base de données >  >> RDS >> Database

SÉLECTION SQL MAX

La fonction SQL Max() est une fonction d'agrégation en SQL. Cette fonction renvoie les valeurs supérieures dans la condition. La condition peut être un nombre ou une expression de chaîne.

La syntaxe de la fonction select max :

SELECT MAX(column_name) FROM table_name WHERE conditions;

Plongeons en profondeur dans SQL SELECT MAX.

Considérez les tables déjà existantes, qui contiennent les données suivantes :

Nom de la table :Employés

ID EMPLOYEE FIRST_NAME LAST_NAME SALAIRE VILLE DÉPARTEMENT MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOÏDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGAR ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 Bombay C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 Bombay JAVA 3
4001 RAJESH GOUD 60500 Bombay TEST 4
4002 ASHWINI BAGHAT 54500 NOÏDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI TEST 4

Exemple 1 : Exécutez une requête qui recherche le salaire maximum des employés dans la table des employés.

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

Dans la requête ci-dessus, nous trouvons le salaire maximum de toute la table des employés. Nous avons nommé la fonction Max (salaire) salaire max. Le salaire sera affiché comme nom de colonne lorsque la sortie sera renvoyée.

Sortie :

SALAIRE MAXIMAL
65 500

Comme vous pouvez le voir, le salaire maximum est de 65500 dans la table des employés

Exemple 2 : Exécutez une requête pour rechercher le salaire maximum des employés dont la ville de résidence est Mumbai à partir de la table des employés.

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

Nous avons nommé max (salaire) comme salaire dans la requête ci-dessus, affiché comme nom de colonne lorsque la sortie est renvoyée. Nous avons trouvé le salaire maximum d'un employé à Bombay et affiché le nom de la ville.

Sortie :

VILLE SALAIRE
Bombay 60500

Comme vous pouvez le voir, le salaire maximum d'un employé qui réside dans la ville de Mumbai est de 60500

Exemple 3 : Écrivez une requête pour trouver le salaire maximum des employés à partir de la table des employés des employés dont le service est Java.

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

Dans la requête ci-dessus, nous avons alias max (salaire) en tant que maximum_salary, affiché en tant que nom de colonne lorsque la sortie est renvoyée. Nous avons trouvé le salaire maximum d'un employé dont le département est Java et affiché le nom du département.

Sortie :

DÉPARTEMENT MAXIMUM_SALARY
JAVA 58500

Comme vous pouvez le voir, le salaire maximum d'un employé du département Java est de 58500

Exemple 4 : Écrivez une requête pour trouver le salaire maximum des employés dont le département comprend l'une des listes est Oracle et FMW à partir de la table des employés.

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

Nous avons alias max (salaire) dans la requête ci-dessus, affiché sous forme de nom de colonne lorsque la sortie est renvoyée. Nous avons trouvé le salaire maximum d'un employé dont le département est Oracle et FMW.

Sortie :

SALAIRE
65 500

Exemple 5 : Exécutez une requête pour rechercher le salaire maximum des employés dont le salaire est supérieur à 55 000 et dont la ville comprend Noida, Delhi à partir du groupe de tables des employés par ville.

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

Nous avons nommé Max (salaire) EMPLOYEE_SALARY dans la requête ci-dessus, affiché sous forme de nom de colonne lorsque la sortie est renvoyée. Nous avons trouvé le salaire maximum d'un employé dont le salaire est supérieur à 55000. De plus, la ville de l'employé doit être l'un des noms inclus dans le paramètre city IN. Nous avons également utilisé la clause GROUP BY suivie de la colonne city. La ville de Noida sera regroupée en une seule ville de tous les employés dont la ville est à Noida et a trouvé le salaire des employés, et la même approche est utilisée pour la ville de Delhi.

Sortie :

VILLE EMPLOYEE_SALARY
DELHI 60000
NOIDA 60000

L'employé réside dans la ville de Delhi, le salaire maximum est de 60 000 et l'employé réside dans la ville de Noida, le salaire maximum est de 60 000.

Exemple 6 : Exécutez une requête pour rechercher le salaire maximum des employés dans la table des employés. Les villes sont uniques au groupe d'employés par département.

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

Nous avons nommé max (salaire DISTINCT) comme Employee_salary dans la requête ci-dessus, affiché en tant que nom de colonne lorsque la sortie est renvoyée. Nous avons trouvé le salaire maximum des employés à partir du tableau des employés en tenant compte des villes uniques dans une colonne groupe par département.

Sortie :

DÉPARTEMENT EMPLOYEE_SALARY
NOIDA 60000
JAIPUR 65500
PUNE 58500
PUNE 65500
Bombay 60500

Exemple 7 : Rédigez une requête pour trouver le salaire maximum d'un employé dans la table des employés, département unique du groupe d'employés par département.

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

Dans la requête ci-dessus, nous avons alias max (salaire DISTINCT) en tant que Employee_salary, affiché en tant que nom de colonne lorsque la sortie est renvoyée. Nous avons trouvé le salaire maximum des employés à partir du tableau des employés en tenant compte des départements uniques regroupés par colonne de département.

Sortie :

DÉPARTEMENT EMPLOYEE_SALARY
C# 60000
FMW 65500
JAVA 58500
ORACLE 65500
TEST 60500

Exemple 8 : Exécutez une requête pour rechercher le salaire maximum de l'Employé dans le groupe de tables de l'Employé par Département où le salaire max() est supérieur à 55 000.

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

Nous avons nommé max (salaire) comme salaire dans la requête ci-dessus, affiché comme nom de colonne lorsque la sortie est renvoyée. Nous avons trouvé le salaire maximum des employés à partir du tableau des employés suivi du groupe par nom de service et utilisé avec une condition où max() est supérieur à 55000.

Sortie :

DÉPARTEMENT EMPLOYEE_SALARY
NOIDA 60000
JAIPUR 65500
PUNE 58500
PUNE 65500
Bombay 60500

Comme nous pouvons le voir, seules les villes dont les salaires globaux sont supérieurs à 55 000. Avoir une clause, c'est comme une clause where. Avoir une clause est utilisé lorsque nous voulons appliquer une condition à la fonction d'agrégation. Nous avons utilisé la clause having uniquement lorsque nous avons utilisé la fonction d'agrégation dans la requête.

Exemple 9 : Rédigez une requête pour trouver le salaire maximum d'un employé avec un groupe d'ordinateurs portables par département.

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

Nous avons nommé max (salaire) comme salaire dans la requête ci-dessus, affiché comme nom de colonne lorsque la sortie est renvoyée. Explication de la requête ci-dessus, la première sous-requête sera exécutée (SELECT EMPLOYEEID FROM LAPTOP); en conséquence, nous obtiendrons les identifiants des employés, y compris la valeur nulle. Une fois la sous-requête exécutée, la requête principale sera exécutée SELECT DEPARTMENT, MAX(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (sortie de la sous-requête). Dans l'opérateur IN de la requête principale, il y a un identifiant d'employé, qui est sorti de la sous-requête selon l'opérateur IN. Nous obtiendrons notre résultat final qui est le groupe par nom de département.

Sortie :

DÉPARTEMENT SALAIRE
C# 60000
JAVA 58500
ORACLE 60000
TEST 55500