MySQL自学笔记2--select的5个子句
MySQL自学笔记
使用的MySQL自带命令客户端,其中具体的操作是在自建的数据库下room303表中进行的,表中的列有:id、name、age、email、tel、salary、riqi、class。元组为自己随便添加的一些成员=.=!
select子句
五种,包括:where、group by、having、order by、limit
where:条件查询
where可以用在各种条件查询的场合,有如下一些常用的运算符
* <
小于
* >
大于
* MySQL
select * from room303
where age > 22;
* != 不等于(用<>也可以表示不等于)
* MySQL
select * from room303
where age <> 23;
* <=
小于等于
* >=
大于等于
* MySQL
select name, age, riqi from room303
where age >= 21;
* in(值1, 值2, 值3, …) 表示在集合内的值都可以
* MySQL
select * from room303
where age in(20,23);
* between A1 and A2 表示介于A1、A2之间的值都可以,包括A1、A2
* MySQL
select * from room303
where age between 21 and 23;
* MySQL
select * from room303
where age not between 21 and 23;
* not(或者!) 表示逻辑非、or(或者||) 表示逻辑或、and(或者&&) 表示逻辑与
* MySQL
select * from room303
where age <=22 and salary between 1000 and 1800;
group by:分组查询
group by通常用在统计场合,一般用到如下的函数有这几个:max、min、sum、avg、count
* max:求最大值
* MySQl
select class, min(salary) from room303 group by class;
* min:求最小值
* sum:求和
* avg:求平均
* count:求总行数
* MySQL
select class, count(age) from room303 group by class;
MySQL
select class, count(*) from room303 group by class;
* 上面两个获得的结果是一样的,因为count求的是总行数
* 这里得注意的一点是在group by分组之后,max、min等想要找到的该列是正确的,但是对于获得的数据其他列中的值是group by分组后碰到的第一条记录!如果想要获得真正的结果,可以使用嵌套或者联合进行查询获得!
having:与where类似用于条件筛选
having后面接的语句与where类似,where后面的表达式怎么写,having就怎么写,但是两者之间有一个很重要的区别就是:
* where是针对表中的列进行筛选,查询数据
* having是针对查询结果中的列进行筛选,查询已经得到的结果中的数据
* 简单的说:where对表起作用,having对结果进行筛选
* MySQL
select * from room303
where age >=22
having salary < 1900;
order by:排序
orde by可以用于各种排序场合,可以根据字段来进行升序(asc)或者降序(desc)的排列,默认是升序进行排列。排列可以按多字段来进行排列。
* 多字段排序
MySQL
order by 列1 [desc/asc],列2 [desc/asc],...
MySQL
select * from room303 order by age desc, salary asc;
limit:限制
limit放在语句的最后,用来限制条目用的,其格式如下:
limit [offset] [N]
- offset是偏移量(不写的话默认值为0),N是取出的条目数
*MySQL
select * from room303 limit 1,2;
select五个子句的顺序问题
这5个select子句在SQL语句中是有顺序要求的,具体顺序为:
where
、group by
、having
、order by
、limit
转载于:https://www.cnblogs.com/NickBryant/p/6350273.html
MySQL自学笔记2--select的5个子句相关推荐
- MySQL自学笔记(二)
二.数据库管理 2.1 外键(FOREIGN KEY) MySQL 外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列.一个表可以有一个或多个外键. 外键对应的是参 ...
- MySQL自学笔记详细版(从安装到入门)
MySQL学习目录 前言 一.MySQL是什么? 二.MySQL的好处 三.数据库的概念 1. DB(database) 2.DBMS(Database Management System) DBMS ...
- 老杜 mySql自学笔记34道例题
1.取得每个部门最高薪资的人员 第一步:取出每一个部门当中薪资最高的人(按部门分类,找出每一组当中的最大值) mysql> select deptno,max(sal) as maxsal fr ...
- 一些mysql自学笔记1
##关于一些快捷键 win+R打开cmd win+shift+S局部截屏 mspaint打开画板 F12对sqlyog自动格式化 F9执行 代码错误是因为中英文错误,笔者在写的时候为了效率并没有仔细管 ...
- MySQL自学笔记——存储过程
含义 存储过程的英文是Stored Procedure.它的思想很简单,就是一组经过预先编译的SQL语句的封装.存储过程预先存储在MySQl服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储 ...
- mysql自学笔记九(Navicat Premium 15)
#主表如何删除从表所绑定的外键列? /* 方式一:级联删除 在从表设置外键的时候可以添加 on delete cascade;方式二:级联置空 在从表设置外键的时候可以添加 on delete set ...
- mysql的selectwhere语句_(MySQL笔记)SELECT语句的WHERE子句详解
WHERE子句 在SELECT语句中,语句首先从FROM子句开始执行,执行后会生成一个中间结果集,然后就开始执行WHERE子句.WHERE子句是对FROM子句生成的结果集进行过滤,对中间结果集的每一行 ...
- MySQL学习笔记-从基础到进阶
MySQL自学笔记 MySQL 基础 SQL SQL通用语法 SQL分类 DDL数据操作 数据类型 DML数据操作 DQL数据操作 DCL数据控制 函数 约束 多表查询 事务 进阶 存储引擎 **索引 ...
- 【狂神说】 mysql 自学总结 7~9章
目录 前言 7.索引 7.1.索引的分类 7.2.测试索引 7.3.索引原则 8.权限管理和备份 8.1.用户管理 8.2.数据库备份 9.规范数据库设计 9.1.为什么需要设计 9.2.三大范式 前 ...
最新文章
- MySQL数据库子查询
- React Native小白入门学习路径——五
- 设计模式C#实现(十五)——命令模式
- html求和按钮,使用模板标记在html模板中求和
- echart 设置y轴间隔_ECharts 柱状图之间的间距怎么调整的?y轴的线怎么调出来? 做成表格状。...
- 写出记录型信号量中的wait操作代码_操作系统进程的同步与互斥及经典同步与互斥问题...
- android 开启线程关闭对话框,java – 从后台线程的PopUp对话框Android
- [好惆怅啊]TCL编码转换的问题
- Android实现百度离线地图+gps定位
- vim/gvim 主题配色方案下载 安装修改配置
- Exp6 信息搜集与漏洞扫描 ——20164316张子遥
- 我的世界服务器总是显示错误,win 10 进mc服务器总是错误 怎么办
- 电子元器件行业B2B交易管理系统:提升数据化驱动能力,促进企业销售业绩增长
- mysql 修改年龄_MYSQL——数据修改
- Spring - 装配bean
- Silicon C8051F340之时钟系统
- mysql sql语句中变量_mysql-sql语句中变量的使用
- L2TP与PPTP区别
- matlab 文件批量处理
- CSS3 渐变新特性和HTML5 Canvas画布背景渐变实现方法详解
热门文章
- 添加Page_Init事件
- python遍历文件夹下所有文件大小_python遍历文件夹读取文件大小 | 学步园
- ubuntu 14.04 mysql 5.7_ubuntu14.04 升级mysql到5.7版本
- 网闸与防火墙的区别_网关和网闸、防火墙的区别?
- 阿里云平台注册与使用Linux
- VS创建props属性表并在新项目中导入props属性表
- 对python的认识800字_我对python里True和False的理解
- q3c 更换q3x 需要重置硬盘吗_轻松拓展你的游戏库 西部数据WD_BLACK D10 游戏专用硬盘评测...
- 全球第三的晶圆代工厂 也要被卖了?
- Git 2.18版本发布:支持Git协议v2,提升性能