Sql语句总结

查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t

https://www.nowcoder.com/practice/6d4a4cff1d58495182f536c548fee1ae?tpId=82&&tqId=29759&rp=1&ru=/activity/oj&qru=/ta/sql/question-ranking

select emp_no, count(emp_no) t
from salaries
group by emp_no
having count(emp_no) > 15

(1) having与group by的区别
1、having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。
2、where肯定在group by 之前(先使用对表中的数据进行过滤)
3、where后的条件表达式里不允许使用聚合函数,而having可以
(2) 对于distinct与group by的使用
1、当对系统的性能高并且数据量大时使用group by
2、当对系统的性能不高时或者使用数据量少时两者借口
3、尽量使用group by
(3)等值连接与自然连接natural join的区别
1、等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。
2、等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务