请选择 进入手机版 | 继续访问电脑版

mysql教程:having和where的区别

[复制链接]
查看1798 | 回复0 | 2020-10-12 20:55 | 显示全部楼层 |阅读模式
having:是在结果集上进行条件筛选
  1. -- 查询女生
  2. mysql> select * from stu where stusex='女';
  3. +--------+----------+--------+--------+---------+------------+------+------+
  4. | stuNo  | stuName  | stuSex | stuAge | stuSeat | stuAddress | ch   | math |
  5. +--------+----------+--------+--------+---------+------------+------+------+
  6. | s25303 | 李斯文        | 女      |     22 |       2 | 北京           |   55 |   82 |
  7. | s25305 | 诸葛丽丽         | 女      |     23 |       7 | 河南           |   72 |   56 |
  8. | s25319 | 梅超风        | 女      |     23 |       5 | 河北          |   74 |   67 |
  9. | s25321 | Tabm     | 女      |     23 |       9 | 河北          |   88 |   77 |
  10. +--------+----------+--------+--------+---------+------------+------+------+
  11. 4 rows in set (0.00 sec)

  12. -- 查询女生
  13. mysql> select * from stu having stusex='女';
  14. +--------+----------+--------+--------+---------+------------+------+------+
  15. | stuNo  | stuName  | stuSex | stuAge | stuSeat | stuAddress | ch   | math |
  16. +--------+----------+--------+--------+---------+------------+------+------+
  17. | s25303 | 李斯文        | 女      |     22 |       2 | 北京           |   55 |   82 |
  18. | s25305 | 诸葛丽丽         | 女      |     23 |       7 | 河南           |   72 |   56 |
  19. | s25319 | 梅超风        | 女      |     23 |       5 | 河北          |   74 |   67 |
  20. | s25321 | Tabm     | 女      |     23 |       9 | 河北          |   88 |   77 |
  21. +--------+----------+--------+--------+---------+------------+------+------+
  22. 4 rows in set (0.00 sec)

  23. -- 查询女生姓名
  24. mysql> select stuname from stu where stusex='女';
  25. +----------+
  26. | stuname  |
  27. +----------+
  28. | 李斯文        |
  29. | 诸葛丽丽         |
  30. | 梅超风        |
  31. | Tabm     |
  32. +----------+
  33. 4 rows in set (0.00 sec)

  34. -- 使用having报错,因为结果集中没有stusex字段
  35. mysql> select stuname from stu having stusex='女';
  36. ERROR 1054 (42S22): Unknown column 'stusex' in 'having clause'
复制代码
小结:having和where的区别:
where是对原始数据进行筛选,having是对记录集进行筛选。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-3-24