博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 查询注意事项
阅读量:6801 次
发布时间:2019-06-26

本文共 995 字,大约阅读时间需要 3 分钟。

hot3.png

1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--- distinct-from--where--group by--having--order by --- asc(desc) --limit 其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序 与的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--group by--having--select--order by, from:需要从哪个数据表检索数据  where:过滤表中数据的条件 group by:如何将上面过滤出的数据分组 having:对上面已经分组的数据进行过滤的条件  select:查看结果集中的哪个列,或列的计算结果 order by :按照什么样的顺序来查看返回的数据  2.from后面的表关联,是自右向左解析的 而where条件的解析顺序是自下而上的。  也就是说,在写SQL文的时候,尽量把数据量大的表放在最右边来进行关联, 而把能筛选出大量数据的条件放在where语句的最下面。

 

注意:

1.where 语句中不能使用聚合函数,用having代替where

2.having 语句不能包含为grouy by的列名,因为先执行group by,再执行having,用where 语句代替

3.空值条件is null   ,is not null

4.没有出现在goup by 语句中的列,不能放在select 语句中,但select可以包含聚合函数(计算未包含的列;

     group by 有一个原则,就是 select 后面的所有列中,没有使用的列,必须出现在 group by 后面。

5.聚合函数max ,min,avg,sum

6.数据处理函数select lenght(d1)  from t1    , length ,abs,substring,.........

7.union  联合结果集,select d1 from t1 union select d2 from t2  union  select.... ,每个结果集列数必须相同,每一列类型必须相同; union 对联合的结果集重复的行,默认只保留一项,可用union all 解决

 

 

 

转载于:https://my.oschina.net/yukong/blog/860920

你可能感兴趣的文章
java的LookupDispatchAction 用法
查看>>
多目标决策---化多为少的方法
查看>>
libevent 一个简单的event示例
查看>>
莫名故障
查看>>
Struts秘籍之第1段:第2.2式:关于标签库声明
查看>>
vscode cpp cmake 环境搭建
查看>>
android sdk manager无法更新
查看>>
ArrayIndexOutOfBoundsException数组越界问题 --- 之一
查看>>
XMPP协议学习笔记
查看>>
[转]Golang的正则表达式
查看>>
秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四)
查看>>
Silverlight+WCF 简单部署问题集
查看>>
编译Hadoop Eclipse Plugin
查看>>
Java线程安全单例模式实现
查看>>
HOOK API 相关
查看>>
spring定时任务(方便轻巧)
查看>>
Java回调函数
查看>>
linux sort 命令详解
查看>>
总结一下近期的面试题(一)
查看>>
Guava学习笔记:EventBus
查看>>