mysql之select+五种子句的理解
select 可以包含很复杂,很丰富的逻辑,最能考验一个人的逻辑思维能力和sql语句的掌握程度,我是这么认为,以前的很多次面试几乎都死在它手上,所以才有了今天的这篇日志,下定决心把它学好。
where 表达式
我们要这样理解,表达式放在表中的哪一行成立,哪一行就取出来
=,>,<,>=,<=,!=/<>,and,or,between and,in,not
group by
分组,一般和统计函数配合使用才有意义
max,min,avg,count,sum
having 表达式
数据在表中,表在硬盘或内存以文件形式存在
和where区别:where 是针对表文件发挥作用的。
查询出的结果,也可以看成一张表,其文件一般临时存在于缓冲区
having就是针对查询结果发挥作用的。
所以应该现有where,才有having
order by 排序
可以针对字段进行排序,order by 字段1 [asc] 升序,[desc] 降序
有可能一个字段排序不出结果,可以选用其他字段继续排序,
order by 字段1 [asc/desc],字段2 [asc/desc]
limit [offset,] N
offset:偏移量
N:取出的条目
例如:要取某张表3-5行的记录,
select * from tableName limit 2,3;
注意:where->group by->having-order by->limit,必须按顺序出现。
子查询(重点)
where型的子查询:把内层查询的结果作为外层查询比较的条件
差不多这种形式:
select * from tableName where tid = (select tid from ...);
from型子查询:把内层查询的结果,当做一张临时表,供外层继续查询
形式:select * from (select * from ...) as temp group by...;
exists型子查询:把外层的查询结果拿到内层,看内层的查询是否成立
形式:select oid from outTable o where exists(select * from inTable i where i.oid=o.oid);
mysql之select+五种子句的理解的更多相关文章
- mysql中select五种子句和统计函数
select 五种子句顺序 where 条件 group by 分组 having 把结果进行再次筛选 order by 排序 limit 取出条目 统计函数 max(列名) 求最大 min( ...
- mysql---select的五种子句学习(where、group by、having、order by、limit)
mysql---select的五种子句学习(where.group by.having.order by.limit) 分类: Mysql学习2012-09-27 16:14 1533人阅读 评论 ...
- select 5种子句介绍
一.Where 条件查询 ①where expression 用法:expression为真,则该行取出 运用场合 各种条件查询场合,如按学号查学生,按价格查商品,按发布时间查新闻等 ②select ...
- Mysql基本类型(五种年日期时间类型)——mysql之二
转自:<MySQL技术内幕:时间和日期数据类型> http://tech.it168.com/a2012/0904/1393/000001393605_all.shtml
- 转:狄利克雷过程(dirichlet process )的五种理解
狄利克雷过程(dirichlet process )的五种理解 原文:http://blog.csdn.net/xianlingmao/article/details/7342837 无参数贝叶 ...
- Sql语句之select 5种查询
select 5种子句:注意顺序where / group by /having / order by / limit / 清空表中的数据:truncate 表名: 导入表结构(不含数据): crea ...
- 五种I/O 模式,select、epoll方法的理解,BIO、NIO、AIO理解 相关文章
一.io方式 Linux网络编程 五种I/O 模式及select.epoll方法的理解 web优化必须了解的原理之I/o的五种模型和web的三种工作模式 五种I/O 模式——阻塞(默认IO模式),非阻 ...
- Mysql查看版本号的五种方式介绍
Mysql查看版本号的五种方式介绍 作者: 字体:[增加 减小] 类型:转载 时间:2013-05-03 一.使用命令行模式进入mysql会看到最开始的提示符;二.命令行中使用status可以看到 ...
- 你可以这么理解五种I/O模型
因为项目需要,接触和使用了Netty,Netty是高性能NIO通信框架,在业界拥有很好的口碑,但知其然不知其所以然. 所以本系列文章将从基础开始学起,深入细致的学习NIO.本文主要是介绍五种I/O模型 ...
随机推荐
- devfs,proc,udev
devfs:常用的驱动函数封装 proc:在用户态检查内核状态的机制 udev 和 devfs相比? 一个是用户空间里的,一个运行在内核空间且被2.6以后版本抛弃了
- linux 用grep匹配横线
file的内容如下: ADSFADSFSDFASDFJKJK----------------------------------------ADSFADSFSDFASDFJKJK----------- ...
- Hibernate个人总结
编写Hibernate第一个程序 Hibernate是目前最流行的持久层框架,专注于数据库操作.使用Hibernate框架能够使开发人员从繁琐的SQL语句和复杂的JDBC中解脱出来.Hibernate ...
- bzoj1821: [JSOI2010]Group 部落划分 Group
kruskal算法. #include<cstdio> #include<algorithm> #include<cstring> #include<cmat ...
- [原]Unity3D深入浅出 - GUI控件
Unity的GUI类提供了丰富的界面控件,通过组合这些控件,完成和用户交互的界面. Lable:绘制文本和图片 Box:绘制一个图形框 Button:绘制一个响应单击事件的按钮 RepeatButto ...
- 解决项目中EF5.0升级到EF6.0无法安装包的方法
今天在vs2012上新建了一个mvc4的项目,mvc4中默认的Entity Framework是5.0的版本,如下所示: 或者:,但是项目中有些要用到EF6.0的相关方法,用EF5.0实在繁琐,于是在 ...
- JQuery安全分析
JQuery安全分析: JQuery的风险均来源于对输入的数据没有进行有效性检验.客户端的Javascript需要检验:来源于服务器的数据.来源于当前页面的用户输入,服务器端需要检验来源于用户端的数据 ...
- acdream LCM Challenge (最小公倍数)
LCM Challenge Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Su ...
- 使用powerdesigner 画图的详细说明
一.概念数据模型概述 数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求: 1)能够比较真实地模拟现实世界 2)容易为人所理解 3)便于计算机实现 概念数据模型也称信息模型,它以实体- ...
- 【转】protobuf2.5.0在<delete [] elements_;>crash的问题。
背景 项目中使用protobuf作为网络传输协议,最开始在项目中直接使用源代码编译,在真机上测试一直是正常的,直到某天开始在 CPU是64 bit的设备上发现protobuf导致crash了,于是就开 ...