《Mysql DML语句》
1:DISTINCT 用于去重,但是需要注意的是,它是用于所有列的,也就是说,除非指定的列全部相同,否则所有的行都会被检索出来。
2:ORDER BY 用于排序,但是应该注意的是,它因该是 SELECT 语句中出现的最后一条字句,如果不是,则报错。
3:在 WHERE 字句中出现多个 AND 和 OR 时候应该特别注意,因为和大多数语言一样,因为优先级不同(AND更大),所以在使用中 应该使用 ()来包住你需要的筛选条件。
4:IN 可以使用 WHERE / OR 实现,但是最大的不同是,IN 中可以包含 WHERE 字句。
5:当使用 AS 重新命名之后,必须使用命名之后的名称。
SELECT `user.name` FROM `name` AS n; // 报错,没有此字段
SELECT `n.name` FROM `name` AS n; // 正常,包括 WHERE 字句中也是如此
6:WHERE 和 HAVING 的区别
- HAVING 的删选条件只能是之前已经筛选出来的字段
- WHERE 的使用是表中具体存在的字段
- 例如
1:having 和 where 都可以使用
select id,name form user where id = 1; // 正常
select id,name form user having id = 1; // 正常,因为having的字段是之前已经 select 的字段
2:只有where可以使用
select name form user having id = 1; // 报错,因为having的字段并没有select出来 3:只有having可以使用
group by 字句后面
聚合函数只有having能用 select count(*) as count from users where count > 0 group by id; // 错误,count并不是表字段,而是算出来的值,where不认识
select count(*) as count from users group by id where count > 0 ; // 正确
- 总结来说
where 可以使用的,是表里的具体字段,而聚合函数count(`field`)/avg(`field`)等等,它们算出来的都不是表里的字段,当然不能使用。
而 having 的过滤条件是之前已经检索出来的数据。
《Mysql DML语句》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- django 自定义数据校验
http://stackoverflow.com/questions/16231183/django-how-to-override-clean-method-in-a-subclass-of-cus ...
- MXNET:深度学习计算-模型参数
我们将深入讲解模型参数的访问和初始化,以及如何在多个层之间共享同一份参数. 之前我们一直在使用默认的初始函数,net.initialize(). from mxnet import init, nd ...
- 关于批判性思维(Critical Thinking)
批判性思维(CriticalThinking)就是通过一定的标准评价思维,进而改善思维,是合理的.反思性的思维,既是思维技能,也是思维倾向. 批判性思维是在普通思维的基础上又加了第二层思考,并对第一层 ...
- Hive数据倾斜解决办法总结
数据倾斜是进行大数据计算时最经常遇到的问题之一.当我们在执行HiveQL或者运行MapReduce作业时候,如果遇到一直卡在map100%,reduce99%一般就是遇到了数据倾斜的问题.数据倾斜其实 ...
- Java知多少(104)网络编程之统一资源定位符URL
统一资源定位符URL(Uniform Resource Locator)是www客户机访问Internet时用来标识资源的名字和地址.超文本链路由统一资源定位符URL维持.URL的格式是: <M ...
- SPARKR,对RDD操作的介绍
(转载)SPARKR,对RDD操作的介绍 原以为,用sparkR不能做map操作, 搜了搜发现可以. lapply等同于map, 但是不能操作spark RDD. spark2.0以后, spar ...
- 仿迅雷播放器教程 -- 基于ffmpeg的C++播放器 (1)
2011年12月份的时候发了这篇博客 http://blog.csdn.net/qq316293804/article/details/7107049 ,博文最后说会开源一个播放器,没想到快两年了,才 ...
- [algorithm] 汉诺塔问题
汉诺塔是根据一个传说形成的一个问题.汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗 ...
- Texture::setUnRefImageDataAfterApply
当该值设置为true时,OSG在应用过该纹理对象后(apply),自动释放其对Image对象的引用,以减少内存占用
- 理解PEP333-WSGI
声明:这篇文章只是为了整体理解WSGI,会忽略很多细节,要详细了解请参看文后的参考资料 WSGI概述 WSGI全称是Python Web Server Gateway Interface(Python ...