在 MySQL 中使用 select 查询语句的时候,一般都会加上 where 语句或者 limit 语句限定查询结果的范围,两种子句都是过滤的作用。另外还有和 group by 语句配合使用的 having 限制条件。区分 where 和 having 语句的作用也是比较基础的题目。
面试官提问: 请阐述下在 MySQL 中 where 和 having 关键词有什么区别?
题目解析: 为了更加清楚地阐述两个关键用法的不同,我们还是从实际例子出发。
进入上一节创建的测试数据库:
USE mybj_demo;
然后进入测试数据库,创建 user 表:
- USE `mybj_demo`;
- DROP TABLE IF EXISTS `user`;
- CREATE TABLE `user` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据库主键',
- `username` varchar(32) DEFAULT NULL COMMENT '用户名',
- `passw