当前位置: 首页 > news >正文

开发东莞网站制作公司腾讯企业邮箱扫码登录

开发东莞网站制作公司,腾讯企业邮箱扫码登录,seo外链网,wordpress数据库分析文章目录 4.区分SQL语句的书写和执行顺序4.1书写顺序4.2执行顺序4.3总结4.4扩充&#xff1a;辨别having与where的异同&#xff1f;4.5聚合查询 4.区分SQL语句的书写和执行顺序 注意&#xff1a;SQL 语句的书写顺序与执行顺序不是一致的 4.1书写顺序 SELECT <字段名> …

在这里插入图片描述

文章目录

  • 4.区分SQL语句的书写和执行顺序
    • 4.1书写顺序
    • 4.2执行顺序
    • 4.3总结
    • 4.4扩充:辨别having与where的异同?
    • 4.5聚合查询

4.区分SQL语句的书写和执行顺序

注意:SQL 语句的书写顺序与执行顺序不是一致的

4.1书写顺序

SELECT <字段名> 
FROM <表名>
JOIN <表名> 
ON <连接条件>
WHERE <筛选条件>
GROUP BY <字段名>
HAVING <筛选条件> #根据group by选择的字段,进行条件筛选
UNION
ORDER BY <字段名>
LIMIT <限制行数>;

4.2执行顺序

  1. FORM:选择from后面跟的表,产生虚拟表1。
  2. ON:ON是JOIN的连接条件,符合连接条件的行会被记录在虚拟表2中。
  3. JOIN:如果指定了LEFT JOIN,那么保留表中未匹配的行就会作为外部行添加到虚拟表2中,产生虚拟表3。如果有多个JOIN链接,会重复执行步骤1~3,直到处理完所有表。
  4. WHERE:对虚拟表3进行WHERE条件过滤,符合条件的记录会被插入到虚拟表4中。
  5. GROUP BY:根据GROUP BY子句中的列,对虚拟表2中的记录进行分组操作,产生虚拟表5。
  6. HAVING:对虚拟表5进行HAVING过滤,符合条件的记录会被插入到虚拟表6中。
  7. SELECT:SELECT到一步才执行,选择指定的列,插入到虚拟表7中。
  8. UNION:UNION连接的两个SELECT查询语句,会重复执行步骤1~7,产生两个虚拟表7,UNION会将这些记录合并到虚拟表8中。
  9. ORDER BY: 将虚拟表8中的记录进行排序,虚拟表9。
  10. LIMIT:取出指定行的记录,返回结果集。

4.3总结

书写顺序:SELECT -> FROM -> JOIN -> ON -> WHERE -> GROUP BY -> HAVING -> UNION -> ORDER BY ->LIMIT

执行顺序:FROM -> ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> UNION -> ORDER BY ->LIMIT

4.4扩充:辨别having与where的异同?

  • 相同:两者都是用作筛选条件
  • 不同:
    • 书写和执行顺序不同
      • having:书写在、执行在分组操作之后,对分组后的数据进行过滤.(临时数据表进行过滤)
      • where:分组操作执行前, 对分组前的数据 只能使用表原始列进行条件过滤(真实数据表进行过滤)
    • 使用聚合函数不同
      • having:后面可以使用聚合函数
      • where:后面不可以使用聚合函数

分组操作中的having子语句,是用于在分组后对数据进行过滤的,作用类似于where条件

  • 举例:
#统计各个分类商品的个数
select category_id,count(pid) from product group by category_id;#统计各个分类商品的个数,且只显示个数大于1的信息
SELECT category_id,count(pid) from product GROUP BY category_id HAVING count(*)>1;#统计价格>200元的 各个分类商品的个数,且只显示个数大于1的信息
select category_id,count(pid) from product where price>200 group by category_id HAVING count(pid)>1;

4.5聚合查询

  • 常用的五个聚合函数

    • count(列名):统计指定列不为NULL的记录行数;

    • sum(列名):计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;

    • max(列名):计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;

    • min(列名):计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;

    • avg(列名):计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
      在这里插入图片描述

http://www.yayakq.cn/news/772809/

相关文章:

  • 做网站找八埏福建建站公司
  • 北京网站推广展示型网站有哪些功能
  • 网站判断手机跳转代码163企业邮箱注册怎么注册
  • 浙江省建设厅继续教育网站首页公司注册资金最低是多少
  • 长沙做官方网站网站开发 教学目标
  • 葫芦岛建设工程信息网站网站首页修改
  • 网站内页做排名asp.net网站本机访问慢
  • 自己做网站难么鹰潭市城乡建设局网站
  • 网站大全浏览器wordpress安装图片
  • 网站外链建设有利于增加网站收录北京搬家公司哪个好
  • 论坛网站建设软件专业网站建设好不好
  • 中企动力做网站做付费网站站长全自动年赚30万
  • 移动wap站点为什么企业需要建设网站
  • 香奈儿网站建设策划书wordpress文章图片全屏浏览
  • 电子商务网站的规划与建设论文北京海淀建设银行数据中心
  • 传媒网站源码带手机用博客网站做淘宝客
  • 嘉兴建站网站模板江西那家做网站公司好
  • 做电商怎么建网站湛江网站制作江网站制作
  • 国内做网站费用优秀网站h5案例分享
  • 广西网站建设哪家好有没有做.net面试题的网站
  • html电影网站源码网站关键词没有排名
  • 商丘手机网站建设物联网应用技术是干什么的
  • 群晖nas做网站服务器软件开发接单网站
  • 网站制作开发平台看乱码的网站
  • WordPress网站运行时间个人个案网站 类型
  • 中小企业网站制作流程免费下载素材网址
  • 如何优化网站排名北京做网站那家好
  • 网站用什么语言好网络营销推广处点
  • 西宁建设网站多少钱谷歌浏览器 官网下载
  • 泰州网站制作平台重庆网站推广专员