mysql进阶三四五六
排序查询
一、语法
select 查询表
from 表
where 筛选条件
order by 排序列表[asc / desc]
特点:
1、asc:升序
desc:降序
2、排序列表之中支持单字段,多字段、函数、表达式、别名
3、order by的位置一般放在查询语句的最后(除limit之外)
常见函数:
功能:提高重用性
隐藏了实现细节
调用函数语法:
select 函数名(实参列表);
二、单行函数
1、字符函数
concat:连接
substr:截取字符串
upper/lower:大写、小写
repalce:替换
length:获取字节长度
trim:去前后空格
lpad/rpad:左右填充
instr:获取字串第一次出现的索引
2、数学函数
ceil:向上取整
round:四舍五入
mod:取整
floor:向下取整
truncat:阶段
rand:获取随机数
3、日期函数
date:
now:
year:
month:
day:
date_format:
curdate:
str_to_date:
curtime:
hour:
minute:
second:
datediff:两个时间相差天数
monthname:
4、其他函数
wersion:数据库服务器版本
database:当前打开数据库
password:返回该字符的密码形式
md5:返回该字符的md5加密形式
5、流程控制函数
if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回1,否则返回2
case情况1
case 变量或表达式或字段
when 常量1 then 值1
when。。。。
else。。。
end
case 情况2
case
when 条件1 then 值1
when。。。。
else。。。
end
三、分组函数
1、分类
max:最大值
min:最小值
avg:平均值
sum:求和
count:计数
2、特点
1、语法
select max(字段)from 表名
2、支持的类型
sum和avg一般用于处理数值型
max、min、cuount可以处理任何数据类型
以上分组函数都忽略null
都可以和distinct使用,实现去重统计
count函数
conut(字段):统计该字段非空值的个数
count(*):统计结果集的行数
和分组函数一同查询的字符,要求group by后的字段
分组查询
语法:
select 分组函数,分组后的字段,
from 表
【where 筛选条件】
group by 分组的字段
【having 分组后的筛选】
【order by 排序列表】
特点
使用关键字 筛选的表 位置
分组前的筛选 where 原始表 group by的前面
分组后的筛选 having 分组后的结果 group by的后面
连接查询
含义:当查询中涉及到了多个表的字段,需要使用多表连接
语法
select 字段1,字段2
from 表1,表2;
笛卡尔乘积:当查询多个表时,没有添加有效的连接条件,导致多个表所有行实现全连接
分类:
按年代分类:
sql92:
等值、
语法:
select 查询列表
from 表1 别名,表二,别名
where 表1.key=表2.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选 】
【order by 排序自组但】
特点:
起别名
多表顺序可调换
n表连接至少需要n-1个链接条件
等值链接时多表的交集部分
非等值
select 查询列表
from 表1 别名,表二,别名
where 非等值的链接条件
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选 】
【order by 排序自组但】
、自连接
select 查询列表
from 表1 别名,表1,别名
where 表1.key=表1.key
【and 筛选条件】
【group by 分组字段】
【having 分组后的筛选 】
【order by 排序自组但】
也支持一部分外连接,但不稳定
sql99【推荐使用】:
内链接
等值,非等值,自连接
外连接
左外、右外、全外(不支持)
交叉连接
mysql进阶三四五六的更多相关文章
- mysql进阶(二十六)MySQL 索引类型(初学者必看)
mysql进阶(二十六)MySQL 索引类型(初学者必看) 索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型. 在数 ...
- Java进阶(三十六)深入理解Java的接口和抽象类
Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太 ...
- mysql进阶(三)游标简易教程
mysql游标简易教程 从mysql V5.5开始,进行了一次大的改变,就是将InnoDB作为默认的存储引擎.InnoDB支持事务,而且拥有相关的RDBMS特性:ACID事务支持,数据完整性(支持外键 ...
- 网站开发进阶(三十六)String.getBytes()方法中的中文编码问题
String.getBytes()方法中的中文编码问题 String的getBytes()方法是得到一个系统默认的编码格式的字节数组. getBytes("utf-8")得到一个U ...
- MYSQL进阶学习笔记六:MySQL视图的创建,理解及管理!(视频序号:进阶_14,15)
知识点七:MySQL视图的创建(14) 视图的定义: 什么是视图: 视图数由查询结果形成的一张虚拟的表. 什么时候要用到视图? 如果某个查询结果出现的非常频繁,也就是,要经常拿这个查询结果来做子查询. ...
- AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)
AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...
- mysql进阶(十六)常见问题汇总
mysql进阶(十六)常见问题汇总 MySQL视图学习: http://www.itokit.com/2011/0908/67848.html 执行删除操作时,出现如下错误提示: 出现以上问题的原因是 ...
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句
MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...
- 04 mysql 基础三 (进阶)
mysql 基础三 阶段一 mysql 单表查询 1.查询所有记录 select * from department; select * from student; select * from ...
随机推荐
- (已解决)Arduino mega2560 R3插在电脑上没有反应
OK,话不多说.网上找了一些资料,感觉都说的不够清晰.自己琢磨了下,有了一个简单粗暴的方法. 步骤1:插上Arduino mega2560板子.没有反应. 步骤2:我的电脑-管理-设备管 ...
- centos7 初体验
centos7 https://linux.cn/tag-RHCSA%7CRHCSA.html #/etc/sysconfig/network NETWORKING=yes GATEWAY=192.1 ...
- SQL Server索引总结二
从CREATE开始 通过显式的CREATE INDEX命令 在创建约束时作为隐含的对象 随约束创建的隐含索引 当向表中添加如下两种约束之一时,就会创建隐含索引. 主键约束(聚集索引) 唯一约束(唯一索 ...
- C#实现正则表达式
如果想了解正则表达式的基础知识:http://www.cnblogs.com/alvin-niu/p/6430758.html 一.C#中的Regex类 1.在C#中开发正则表达式,首先要引用Syst ...
- Weblogic 10.3.6.0 集群搭建
Weblogic 集群搭建 Oracle的Weblogic分开发者版本和生产版本,有32位和64位.一般生产版本的weblogic是64位的,安装文件是一个大小为1G多的jar包.去oracle官网上 ...
- HDU 1305 Immediate Decodability 可直接解码吗?
题意:一个码如果是另一个码的前缀,则 is not immediately decodable,不可直接解码,也就是给一串二进制数字给你,你不能对其解码,因解码出来可能有多种情况. 思路:将每个码按长 ...
- JS整数验证
整数验证 方法1 function ValidatInteger(obj) { var reg = /^[1-9]\d*$/ if (!reg.test($(obj).val())) { $(obj) ...
- C++中调用Python脚本(转载)
转载▼ 标签: 杂谈 C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库,需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了先看Py ...
- 一个SAP顾问在美国的这些年
今天的文章来自我的老乡宋浩,之前作为SAP顾问在美国工作多年.如今即将加入SAP成都研究院S4CRM开发团队.我们都是大邑人. 大邑县隶属于四川省成都市,位于成都平原西部,与邛崃山脉接壤.东与崇州市交 ...
- hdu-3790 最短路径问题---dijkstra两重权值
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3790 题目大意: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到 ...