mysql优化教程having和where的区别

[复制链接]
查看328 | 回复0 | 2023-5-17 18:21 | 显示全部楼层 |阅读模式
mysql优化教程having和where的区别

where是对原始数据进行筛选,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'
复制代码

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

本版积分规则

UID
519
贡献
14
丢币
0
主题
55
回帖
7
注册时间
2023-5-12
最后登录
2024-1-19
QQ