Computer >> Máy Tính >  >> Lập trình >> MySQL

Tìm mức lương tối đa và mức lương tối đa thứ hai cho bảng Nhân viên MySQL bằng cách sử dụng truy vấn con?

Bạn có thể nhận được mức lương tối đa và mức lương tối đa thứ hai từ bảng Nhân viên bằng cách sử dụng truy vấn con.

Đầu tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

 mysql> tạo bảng EmployeeMaxAndSecondMaxSalary -> (-> EmployeeId int, -> Employeename varchar (20), -> EmployeeSalary int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,88 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (1, 'John', 34566); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (2, 'Bob', 56789); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (3, 'Carol', 44560); Truy vấn OK, 1 hàng bị ảnh hưởng (0,26 giây) mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (4, 'Sam', 76456); Truy vấn OK, 1 hàng bị ảnh hưởng (0,29 giây) mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (5, 'Mike', 65566); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (6, 'David', 89990); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (7, 'James', 68789); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) mysql> chèn vào giá trị EmployeeMaxAndSecondMaxSalary (8, 'Robert', 76543); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) 

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

 mysql> select * từ EmployeeMaxAndSecondMaxSalary; 

Sau đây là kết quả.

 + ------------ + -------------- + ---------------- + | EmployeeId | Tên nhân viên | EmployeeSalary | + ------------ + -------------- + ---------------- + | 1 | John | 34566 || 2 | Bob | 56789 || 3 | Carol | 44560 || 4 | Sam | 76456 || 5 | Mike | 65566 || 6 | David | 89990 || 7 | James | 68789 || 8 | Robert | 76543 | + ------------ + -------------- + ---------------- + 8 hàng trong bộ (0,00 giây) 

Truy vấn để nhận mức lương tối đa và tối đa thứ hai bằng cách sử dụng truy vấn con -

 mysql> select (select max (EmployeeSalary) from EmployeeMaxAndSecondMaxSalary) MaximumSalary, -> (select max (EmployeeSalary) from EmployeeMaxAndSecondMaxSalary -> where EmployeeSalary not in (select max (EmployeeSalary) fromE EmployeeMaxAndSalary) 

Sau đây là kết quả hiển thị hai mức lương cao nhất -

 + --------------- + --------------------- + | MaximumSalary | SecondMaximumSalary | + --------------- + --------------------- + | 89990 | 76543 | + --------------- + --------------------- + 1 hàng trong bộ (0,00 giây)