Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

SQL CHỌN TỐI ĐA

Hàm SQL Max () là một hàm tổng hợp trong SQL. Hàm này trả về các giá trị lớn hơn trong điều kiện. Điều kiện có thể là một số hoặc nó có thể là một biểu thức chuỗi.

Cú pháp cho hàm max được chọn:

SELECT MAX(column_name) FROM table_name WHERE conditions;

Hãy cùng tìm hiểu sâu về SQL SELECT MAX.

Hãy xem xét các bảng đã tồn tại, có các dữ liệu sau:

Tên bảng:Nhân viên

EMPLOYEEID FIRST_NAME LAST_NAME TIỀN LƯƠNG THÀNH PHỐ KHOA MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60000 NOIDA C # 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 ĐIỀU CHỈNH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 MUMBAI C # 5
3001 PRANOTI CHIA SẺ 55500 PUNE JAVA 3
3002 ANUJA DÂY 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH MỤC TIÊU 60500 MUMBAI KIỂM TRA 4
4002 ASHWINI TÚI XÁCH 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI KIỂM TRA 4

Ví dụ 1: Thực hiện truy vấn tìm kiếm mức lương tối đa của nhân viên từ bảng nhân viên.

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

Trong truy vấn trên, chúng tôi tìm thấy mức lương tối đa từ bảng của toàn bộ nhân viên. Chúng tôi đã đặt tên cho hàm Max (lương) là mức lương tối đa. Tiền lương sẽ được hiển thị dưới dạng tên cột khi kết quả được trả về.

Đầu ra:

LƯƠNG TỐI ĐA
65500

Như bạn thấy, mức lương tối đa là 65500 từ bảng của nhân viên

Ví dụ 2: Thực hiện truy vấn để tìm kiếm mức lương tối đa của nhân viên có thành phố cư trú là Mumbai từ bảng nhân viên.

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

Chúng tôi đã đặt tên max (lương) là tiền lương trong truy vấn trên, được hiển thị dưới dạng tên cột khi kết quả được trả về. Chúng tôi đã tìm thấy mức lương tối đa của một nhân viên ở Mumbai và hiển thị tên thành phố.

Đầu ra:

CITY TIỀN LƯƠNG
MUMBAI 60500

Như bạn có thể thấy, mức lương tối đa của một nhân viên sống ở thành phố Mumbai là 60500

Ví dụ 3: Viết truy vấn để tìm mức lương tối đa của nhân viên từ bảng nhân viên của nhân viên có Bộ phận là Java.

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

Trong truy vấn ở trên, chúng tôi có bí danh max (lương) là max_salary, được hiển thị dưới dạng tên cột khi kết quả được trả về. Chúng tôi đã tìm thấy mức lương tối đa của một nhân viên có Bộ phận là Java và hiển thị tên bộ phận.

Đầu ra:

KHOA MAXIMUM_SALARY
JAVA 58500

Như bạn thấy, mức lương tối đa của một nhân viên từ bộ phận Java là 58500

Ví dụ 4: Viết truy vấn để tìm mức lương tối đa của những nhân viên có Bộ phận bao gồm một trong các danh sách là Oracle và FMW từ bảng của nhân viên.

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

Chúng tôi đã đặt bí danh max (tiền lương) trong truy vấn trên, được hiển thị dưới dạng tên cột khi kết quả được trả về. Chúng tôi đã tìm thấy mức lương tối đa của một nhân viên có Bộ phận là Oracle và FMW.

Đầu ra:

SALARY
65500

Ví dụ 5: Thực hiện truy vấn để tìm kiếm mức lương tối đa của những nhân viên có mức lương lớn hơn 55000 và thành phố bao gồm Noida, Delhi từ nhóm bàn của nhân viên theo thành phố.

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

Chúng tôi đã đặt tên Max (tiền lương) là EMPLOYEE_SALARY trong truy vấn trên, được hiển thị dưới dạng tên cột khi đầu ra được trả về. Chúng tôi đã tìm thấy mức lương tối đa của một nhân viên có mức lương lớn hơn 55000. Ngoài ra, thành phố của nhân viên phải là một trong những tên được bao gồm trong tham số IN thành phố. Chúng tôi cũng sử dụng mệnh đề GROUP BY theo sau là cột thành phố. Thành phố Noida sẽ được nhóm lại thành một thành phố gồm tất cả nhân viên có thành phố ở Noida và tìm thấy mức lương của nhân viên và cách tiếp cận tương tự cũng được sử dụng cho thành phố Delhi.

Đầu ra:

CITY EMPLOYEE_SALARY
DELHI 60000
NOIDA 60000

Nhân viên cư trú tại thành phố Delhi, mức lương tối đa là 60000 và Nhân viên cư trú tại thành phố Noida, mức lương tối đa là 60000.

Ví dụ 6: Thực hiện truy vấn để tìm kiếm mức lương tối đa của nhân viên từ các thành phố trong bảng của Nhân viên là duy nhất của nhóm nhân viên theo Bộ phận.

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

Chúng tôi đã đặt tên max (lương DISTINCT) là Employee_salary trong truy vấn trên, được hiển thị dưới dạng tên cột khi trả về kết quả đầu ra. Chúng tôi đã tìm thấy mức lương tối đa của nhân viên từ bảng nhân viên xem xét các thành phố duy nhất trong một nhóm theo cột phòng ban.

Đầu ra:

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

Ví dụ 7: Viết một truy vấn để tìm mức lương tối đa của nhân viên từ bảng Nhân viên duy nhất của nhóm nhân viên theo Bộ.

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

Trong truy vấn trên, chúng tôi có bí danh tối đa (lương DISTINCT) là Employee_salary, được hiển thị dưới dạng tên cột khi kết quả được trả về. Chúng tôi đã tìm thấy mức lương tối đa của nhân viên từ bảng nhân viên xem xét các phòng ban duy nhất được nhóm theo cột phòng ban.

Đầu ra:

KHOA EMPLOYEE_SALARY
C # 60000
FMW 65500
JAVA 58500
ORACLE 65500
KIỂM TRA 60500

Ví dụ 8: Thực hiện truy vấn để tìm kiếm mức lương tối đa của Nhân viên từ nhóm bảng Nhân viên theo Bộ trong đó mức lương max () lớn hơn 55000.

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

Chúng tôi đã đặt tên max (lương) là tiền lương trong truy vấn trên, được hiển thị dưới dạng tên cột khi kết quả được trả về. Chúng tôi đã tìm thấy mức lương tối đa của nhân viên từ bảng nhân viên theo sau nhóm theo tên bộ phận và được sử dụng với điều kiện trong đó max () lớn hơn 55000.

Đầu ra:

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

Như chúng ta thấy, chỉ những thành phố có mức lương tổng hợp lớn hơn 55000. Có một mệnh đề giống như mệnh đề where. Có một mệnh đề được sử dụng khi chúng ta muốn áp dụng một số điều kiện cho hàm tổng hợp. Chúng tôi chỉ sử dụng mệnh đề có khi chúng tôi sử dụng hàm tổng hợp trong truy vấn.

Ví dụ 9: Viết một truy vấn để tìm mức lương tối đa của một nhân viên với một nhóm máy tính xách tay của Bộ.

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

Chúng tôi đã đặt tên max (lương) là tiền lương trong truy vấn trên, được hiển thị dưới dạng tên cột khi kết quả được trả về. Giải thích cho truy vấn trên, Truy vấn con đầu tiên sẽ được thực thi (CHỌN NHÂN VIÊN TỪ LAPTOP); kết quả là chúng ta sẽ nhận được id nhân viên, bao gồm cả giá trị null. Sau khi truy vấn phụ được thực thi, truy vấn chính sẽ được thực thi CHỌN BỘ PHẬN, TỐI ĐA (SALARY) NHƯ TIỀN LƯƠNG TỪ CÁC NHÂN VIÊN Ở ĐÂU CÓ NHÂN VIÊN TRONG (đầu ra của truy vấn phụ). Trong toán tử IN của truy vấn chính, có một id của nhân viên, được xuất ra từ truy vấn phụ theo toán tử IN. Chúng tôi sẽ nhận được kết quả cuối cùng là nhóm theo tên bộ phận.

Đầu ra:

KHOA TIỀN LƯƠNG
C # 60000
JAVA 58500
ORACLE 60000
KIỂM TRA 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. Khắc phục sự cố hiệu suất tránh đầu gối

  2. Đánh giá sách:Benjamin Nevarez:Điều chỉnh &Tối ưu hóa Truy vấn

  3. Làm việc với Giao diện người dùng JavaFX và Ứng dụng JDBC

  4. Sử dụng nhiều trường cho một khóa duy nhất trong Prisma

  5. Giải pháp thử thách trình tạo chuỗi số - Phần 1