永发信息网

SQL查询最高工资的员工,求原因~

答案:4  悬赏:0  手机版
解决时间 2021-11-12 20:00
SQL查询最高工资的员工,求原因~
最佳答案
我们一般都会这样写:
select name from table where salary = (select max(salary) from table);
答: select max(salary) from table 这句话就是取出公司所有人员的最大工资
然後抓出最高工资的人员是谁,也就是题目所要求的答案

为什么不能这样写?
select name,max(salary) from table;

答: 这句话是抓出员工所拿到的最高薪资是多少,比如一个员工可能每个月拿的工资不一样
而你这句话就是抓这个员工拿得最高时候的薪资是多少,只是针对这个员工
而题目的要求是要抓所有员工中拿到最高薪资的人员.

不知道是不是明白.呵呵
用数据举例
name salary
A 3000
B 4000
B 5000
A 2000

select max(salary) from table ----是取出最高薪资,得到的结果是5000
select name,max(salary) from table----这是取出每个员工最高工资拿多少,得到的结果如下
A 3000
B 5000追问这句呢?
select name,max(salary) salary_max from table order by salary_max desc;追答这句话的意思是将每个员工的最高薪资取出来,然後按最高薪资排序(倒序)
不过这句号应该有语法错误哦,改成如下:
select name,max(salary) salary_max from table order by max(salary) desc;
那麼出来的第一笔资料就是最新薪资的员工,如果最高薪资没有重复的情况下.
全部回答
max是聚合函数 你搜搜聚合函数的用法
这么写,sql语法都通不过吧!
一般要这么写是:select name,max(salary) from table group by name;
但是这个会查询出一组值,与你想要的结果不符合。
你可以这样理解,select name from table;可能返回N行而select max(salary) from table;始终只能返回一行.他们要一起需要联合group by 分类.

可以这样写:
select top 1 name,salary from table order by salary desc
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
笔记本开机出现boot menu 怎么取消直接进入系
酱拌大豆腐怎么做好吃,酱拌大豆腐的家常做法
超市可以支付宝吗
世界上最先进眼晴近视冶疗
共康站到徐汇区天钥桥路909号D1国际3号楼212
对于小区顶楼把烟道堵了物业怎么做
梦三国王座守护
北京换房族有哪些尴尬处境?
农信借记卡一次可以刷卡多少?有没有上限?
甜甜私房猫,小奇最后有到猫妈妈身边吗?
我染发 头都还有洗 第三天颜色就掉了 很多 怎
东风风行景逸xv仪表盘显示三角图形,里面一个
浅谈节目主持人知识储备的重要性(知识储备四
老苏扶手在哪里啊,我有事要去这个地方
fuck yo dude your mom like a dick your dad
推荐资讯
2.4G 125K 13.56MHZ UHF卡的区别和相同点是什
面对屡次偷盗的少年咋办
临沂隆开物资有限公司怎么样?
谁可以帮我一个忙?😊
江苏电视台左顺荣现在干什么
我的钱在哪???
World Wide Fund for Nature 英文简介
坦克世界T110E3和T110E4都有什么特点,为什么
谜语的正确答案专业名称是什么
倚天屠龙记中,自从金毛狮王谢逊的**被成昆杀
豫德隆物流驻马店平舆分公司地址好找么,我有
孝感万亩葵花节现在可以去看看吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?