我想从员工表中找到薪水和员工姓名。这个员工表有像emp_id,emp_name,emp_salary这样的列。要明确:
emplyee
--------------
| emp_id|emp_name|emp_salary|
-----------------------------
| 100 |John | 2500 |
| 200 |Nash | 1500 |
| 300 |Koffe | 100 |
| 400 |Anan | 6000 |
| 500 |Moon | 2600 |
-----------------------------
从上表中,第二高的薪水是2600.我怎么能找到这个?
答案 0 :(得分:0)
您可以尝试:
SELECT max(薪水) 从emptable 薪水< (SELECT max(工资) FROM emptable);
答案 1 :(得分:0)
从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 =(从员工e2中选择计数(不同的e2.emp_salary),其中e2.salary> = e2.salary);
从员工中选择* emp_id emp_ename emp_salary 1 naresh 100 2苏雷什150 3 mahesh 200 4赛250 在上表中第二高的薪水是200 相关子查询意味着首先执行第一个父查询,然后执行子查询
从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 =(从员工e2中选择计数(不同的e2.emp_salary),其中e2.salary> = e2.salary);
第1步:第一行sal转到子查询where子句
从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 =(从员工e2中选择计数(不同的e2.emp_salary),其中e2.salary> = 100) 所以计算行数大于100(即= 4) 所以条件错误 从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 = 4(假)
从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 =(从员工e2中选择计数(不同的e2.emp_salary),其中e2.salary> = 150);
从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 = 3(FALSE)
从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 =(从员工e2中选择计数(不同的e2.emp_salary),其中e2.salary> = 200);
从员工e1中选择e1.emp_ename,e1.emp_salary 其中2 = 2(TRUE)
SO FINAL WE GOT 200 我希望你能充分利用你的一切