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

淄博网站建设公司有多少家seo作弊

淄博网站建设公司有多少家,seo作弊,北京seo代理公司,什么网站可以做平面赚钱一、SELECT查询的完整结构 1.1 方式一(SQL 92语法) SELECT ..., ..., ... FROM ..., ..., ... WHERE 多表的连接条件 AND 不包含组函数的过滤条件 GROUP BY ..., ... HAVING 包含组函数的过滤条件 ORDER BY ... ASC/DESC LIMIT ..., ... 1.2 方式二&a…

一、SELECT查询的完整结构

1.1 方式一(SQL 92语法)

SELECT ..., ..., ...
FROM ..., ..., ...
WHERE 多表的连接条件
AND 不包含组函数的过滤条件
GROUP BY ..., ...
HAVING 包含组函数的过滤条件
ORDER BY ... ASC/DESC
LIMIT ..., ...

1.2 方式二(SQL 99语法)

SELECT ..., ..., ...
FROM ... JOIN ...
ON 多表的连接条件
JOIN ...
ON ...
WHERE 不包含组函数的过滤条件
AND/OR 不包含组函数的过滤条件
GROUP BY ..., ...
HAVING 包含组函数的过滤条件
ORDER BY ... ASC/DESC
LIMIT ..., ...

1.3 关键字解释

  • from:从哪些表中筛选
  • on:关联多表查询时,去除笛卡尔积
  • where:从表中筛选的条件
  • group by:分组依据
  • having:在统计结果中再次筛选
  • order by:排序
  • limit:分页

二、SELECT 执行顺序

你需要记住SELECT查询时的两个顺序:

2.1 关键字的顺序是不能颠倒的

SELECT ... 
FROM ... 
WHERE ... 
GROUP BY ... 
HAVING ... 
ORDER BY ... 
LIMIT...

2.2 SELECT 语句的执行顺序

在MySQL和Oracle中,SELECT执行顺序基本相同

FROM ..., [(LEFT/RIGHT) JOIN ..., ON ...]

WHERE

GROUP BY

HAVING

SELECT

DISTINCT #去重操作

ORDER BY ..., ..., (ASC/DESC)

LIMIT ..., ...

2.3 SQL 的执行原理

        SELECT 结构中是先执行 FROM 这一步的,称为“FROM阶段”。在这个阶段,如果是多张表联查,还会经历下面的几个步骤:

1. 首先先通过 CROSS JOIN 求笛卡尔积,相当于得到虚拟表 vt(virtual table)1-1;

2. 通过 ON 进行筛选,在虚拟表 vt1-1 的基础上进行筛选,得到虚拟表 vt1-2;

3. 添加外部行。如果我们使用的是左连接、右链接或者全连接,就会涉及到外部行,也就是在虚拟表 vt1-2 的基础上增加外部行,得到虚拟表 vt1-3。

        当然如果我们操作的是两张以上的表,还会重复上面的步骤,直到所有表都被处理完为止。这个过程得到是我们的原始数据

        当我们拿到了查询数据表的原始数据,也就是最终的虚拟表 vt1 ,就可以在此基础上再进行 WHERE 阶段 。在这个阶段中,会根据 vt1 表的结果进行筛选过滤,得到虚拟表 vt2

        然后进入第三步和第四步,也就是 GROUP HAVING 阶段 。在这个阶段中,实际上是在虚拟表 vt2 的基础上进行分组和分组过滤,得到中间的虚拟表 vt3vt4

        当我们完成了条件筛选部分之后,就可以筛选表中提取的字段,也就是进入到 SELECTDISTINCT 阶段 。首先在 SELECT 阶段会提取想要的字段,然后在 DISTINCT 阶段过滤掉重复的行,分别得到中间的虚拟表 vt5-1 vt5-2

        当我们提取了想要的字段数据之后,就可以按照指定的字段进行排序,也就是 ORDER BY 阶段 ,得到虚拟表 vt6

        最后在 vt6 的基础上,取出指定行的记录,也就是 LIMIT 阶段 ,得到最终的结果,对应的是虚拟表 vt7

        当然我们在写 SELECT 语句的时候,不一定存在所有的关键字,相应的阶段就会省略。

        同时因为 SQL 是一门类似英语的结构化查询语言,所以我们在写 SELECT 语句的时候,还要注意相应的关键字顺序,所谓底层运行的原理,就是我们刚才讲到的执行顺序

附言:

        在WHERE阶段将会过滤掉大量的数据,再进行GROUP和HAVING阶段,比起将过滤条件都写在HAVING中效率高。因为先进行分组再过滤,有可能大量的分组工作就白做了。又因为只有对分组的数据才又使用聚合函数的意义,而WHERE阶段在GROUP阶段之前,所以尚未分组就不能使用聚合函数,这也是为什么将聚合函数放在WHERE中会出错的原因。

http://www.yidumall.com/news/103404.html

相关文章:

  • 爱站网权重查询新手做电商怎么起步
  • 小城镇建设的网站东莞免费建站公司
  • 学生做的网站需要备案人工智能培训机构
  • 网上学编程影响seo排名的因素有哪些
  • it设备网站如何做seo自动外链发布工具
  • 金万邦网站备案信息真实性核验单商家推广平台有哪些
  • 一个虚拟主机可以做两个网站吧营销的手段和方法
  • 网站运营是干什么的今日最新抗疫数据
  • 城口集团网站建设网站开发合同
  • 响应网站怎么做教学视频太原百度关键词优化
  • 测试网站开发语言近10天的时政新闻
  • 企业建网站流程河南seo快速排名
  • 电商型网站开发多少钱市场营销网站
  • php网站开发百度百科2024最火的十大新闻
  • 深圳智能响应网站建设平台优化是什么意思
  • 中小企业网站建设抖音seo怎么做的
  • 医学ppt模板免费下载网站百度推广退款投诉
  • 郴州网站开发公司百度网盘登录入口 网页
  • 余姚 做网站百度快速收录工具
  • 泉州建站模板搭建网站制作哪家公司好
  • 那个网站有免费模板项目营销策划方案
  • 做网站需要买域名电话营销外包公司
  • 有ip地址如何做网站北京云无限优化
  • 网站导航建设注意百度一下你就知道官网网页版
  • 寻找项目做的网站郑州网站顾问
  • 万秀服务不错的seo推广seo外包公司如何优化
  • 连云港网站建设培训学校seo sem
  • 301网站跳转设置魔方优化大师官网下载
  • 织梦做的网站总是被攻击百度学术查重
  • 长春百度seo百度seo排名优化公司哪家强