面试官:说说WHERE,HAVING和ON的区别?
SQL数据库开发
共 1553字,需浏览 4分钟
· 2020-08-08
点击关注上方“SQL数据库开发”,
设为“置顶或星标”,第一时间送达干货
最近有小伙伴私信我:今天面试有道题把我一下子问懵了,让我说出WHERE,HAVING和ON的区别。
觉得这个问题很有价值给小伙伴们分享一下。
注:以下测试和结论基于SQL Server数据库。
这三个关键字我们平时经常使用,他们一个共同点是:都可以用来过滤数据。
那不同点是什么呢?我们先来看看WHERE和HAVING的区别
(8)SELECT (9)DISTINCT (11)<Top Num> <select list>
(1)FROM [left_table]
(3)<join_type> JOIN <right_table>
(2) ON <join_condition>
(4)WHERE <where_condition>
(5)GROUP BY <group_by_list>
(6)WITH <CUBE | RollUP>
(7)HAVING <having_condition>
(10)ORDER BY <order_by_list>
![](https://filescdn.proginn.com/188ec57721a2c11da6f2b98b6b31ef19/6212e01c122e7df7f0fbe03c34d4ede1.webp)
SELECT 省份,COUNT(*) 人数
FROM Customers
WHERE COUNT(*)>1
GROUP BY 省份
![](https://filescdn.proginn.com/72801ef2bf4663de79665951b33aeb00/8db3bc114c483e65c354fe3ac65d0209.webp)
SELECT 省份,COUNT(*) 人数
FROM Customers
GROUP BY 省份
HAVING COUNT(*)>1
结果如下:
![](https://filescdn.proginn.com/13fa112244c918cb8d3b3c10b3aa87c5/6e683cdd5973454b2203181f0f39fafb.webp)
——End——
后台回复关键字:1024,获取一份精心整理的技术干货 后台回复关键字:进群,带你进入高手如云的交流群。 推荐阅读
这是一个能学到技术的公众号,欢迎关注
评论