คุณสามารถรับเงินเดือนสูงสุดและอันดับสองจากตารางพนักงานโดยใช้แบบสอบถามย่อย
ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง EmployeeMaxAndSecondMaxSalary -> ( -> EmployeeId int, -> Employeename varchar(20), -> EmployeeSalary int -> );Query OK, 0 แถวได้รับผลกระทบ (0.88 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (1,'John',34566); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (2,'Bob',56789); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (3,'Carol',44560); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (4, 'Sam',76456); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (5,'Mike',65566) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (6,'David',89990); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (7,'James',68789); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า EmployeeMaxAndSecondMaxSalary (8,'Robert',76543);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก EmployeeMaxAndSecondMaxSalary;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+--------------+----------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน |+------------+--------------+----------------+| 1 | จอห์น | 34566 || 2 | บ๊อบ | 56789 || 3 | แครอล | 44560 || 4 | แซม | 76456 || 5 | ไมค์ | 65566 || 6 | เดวิด | 89990 || 7 | เจมส์ | 68789 || 8 | โรเบิร์ต | 76543 |+------------+-------------+----------------+8 แถว ในชุด (0.00 วินาที)แบบสอบถามเพื่อรับเงินเดือนสูงสุดและสูงสุดที่สองโดยใช้แบบสอบถามย่อย -
mysql> เลือก (เลือก max(EmployeeSalary) จาก EmployeeMaxAndSecondMaxSalary) MaximumSalary, -> (select max (EmployeeSalary) จาก EmployeeMaxAndSecondMaxSalary -> โดยที่ EmployeeSalary ไม่อยู่ใน (เลือก max (EmployeeSalary) จากEmployeeMaxAndSecondMaxSalary) เป็น Second;Maximต่อไปนี้เป็นผลลัพธ์ที่แสดงเงินเดือนสองอันดับแรก -
<ก่อนหน้า>+---------------+---------------------+| เงินเดือนสูงสุด | SecondMaximumSalary |+-----------------------+---------------------------+| 89990 | 76543 |+---------------------+--------------------- +1 แถวในชุด (0.00 วินาที)