《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 安装并启动 ...
随机推荐
- OGG-01028 Incompatible Record解决办法
How to recover from an OGG-01028 Incompatible Record if the trail is not corrupt (Doc ID 1507462.1) ...
- matplotlib 学习总结
matplotlib 学习总结 作者:csj更新时间:01.09 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 # ...
- Thrift源码学习二——Server层
Thrift 提供了如图五种模式:TSimpleServer.TNonblockingServer.THsHaServer.TThreadPoolServer.TThreadSelectorServe ...
- [IR] XML Compression
Ref: https://www.ibm.com/developerworks/cn/xml/x-datacompression/ Language-Equivalent (类似路径压缩 ) root ...
- 5 -- Hibernate的基本用法 --6 深入Hibernate映射
Hibernate提供三种方式将POJO变成PO类: 1. 使用持久化注解(以JPA标准注解为主,如果有一些特殊要求,则依然需要使用Hibernate本身提供的注解). 2. 使用JPA2 提供的XM ...
- 使用WPF Animated GIF实现GIF图片的播放
这个类库很方便,也很简单:http://wpfanimatedgif.codeplex.com/ 参考博客:http://blog.csdn.net/gqqnb/article/details/721 ...
- 显示windows的音频的输入输出设备
#include "stdafx.h" /************************音频的输入输出设备**************************/ #include ...
- Excel VBA 教程
https://www.w3cschool.cn/excelvba/ Excel VBA 编程教程 https://www.yiibai.com/vba VBA教程 http://www.acc ...
- Maven & Gradle 如何从中央仓库下载Jar包
https://mvnrepository.com/ maven 中央仓库 gradle可以轻松的完成Android项目对第三方jar包文件的依赖下载,再也不需要我们手动下载jar包,然后拷贝到 ...
- 题目1018:统计同成绩学生人数(数组或者map)
题目链接:http://ac.jobdu.com/problem.php?pid=1018 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...