1. 前言
在 MySQL 中使用 select 查询语句的时候,一般都会加上 where 语句或者 limit 语句限定查询结果的范围,两种子句都是过滤的作用。另外还有和 group by 语句配合使用的 having 限制条件。区分 where 和 having 语句的作用也是比较基础的题目。
2. 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 '用户名',
`password` varchar(32) DEFAULT NULL COMMENT '密码',
`gender` int(2) DEFAULT NULL COMMENT '1:男性,2:女性',
`age` int(10) DEFAULT NULL COMMENT '年龄',
PRIMARY