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语句中是有顺序要求的,具体顺序为:
wheregroup byhavingorder bylimit

转载于:https://www.cnblogs.com/NickBryant/p/6350273.html

MySQL自学笔记2--select的5个子句相关推荐

  1. MySQL自学笔记(二)

    二.数据库管理 2.1 外键(FOREIGN KEY) MySQL 外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列.一个表可以有一个或多个外键. 外键对应的是参 ...

  2. MySQL自学笔记详细版(从安装到入门)

    MySQL学习目录 前言 一.MySQL是什么? 二.MySQL的好处 三.数据库的概念 1. DB(database) 2.DBMS(Database Management System) DBMS ...

  3. 老杜 mySql自学笔记34道例题

    1.取得每个部门最高薪资的人员 第一步:取出每一个部门当中薪资最高的人(按部门分类,找出每一组当中的最大值) mysql> select deptno,max(sal) as maxsal fr ...

  4. 一些mysql自学笔记1

    ##关于一些快捷键 win+R打开cmd win+shift+S局部截屏 mspaint打开画板 F12对sqlyog自动格式化 F9执行 代码错误是因为中英文错误,笔者在写的时候为了效率并没有仔细管 ...

  5. MySQL自学笔记——存储过程

    含义 存储过程的英文是Stored Procedure.它的思想很简单,就是一组经过预先编译的SQL语句的封装.存储过程预先存储在MySQl服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储 ...

  6. mysql自学笔记九(Navicat Premium 15)

    #主表如何删除从表所绑定的外键列? /* 方式一:级联删除 在从表设置外键的时候可以添加 on delete cascade;方式二:级联置空 在从表设置外键的时候可以添加 on delete set ...

  7. mysql的selectwhere语句_(MySQL笔记)SELECT语句的WHERE子句详解

    WHERE子句 在SELECT语句中,语句首先从FROM子句开始执行,执行后会生成一个中间结果集,然后就开始执行WHERE子句.WHERE子句是对FROM子句生成的结果集进行过滤,对中间结果集的每一行 ...

  8. MySQL学习笔记-从基础到进阶

    MySQL自学笔记 MySQL 基础 SQL SQL通用语法 SQL分类 DDL数据操作 数据类型 DML数据操作 DQL数据操作 DCL数据控制 函数 约束 多表查询 事务 进阶 存储引擎 **索引 ...

  9. 【狂神说】 mysql 自学总结 7~9章

    目录 前言 7.索引 7.1.索引的分类 7.2.测试索引 7.3.索引原则 8.权限管理和备份 8.1.用户管理 8.2.数据库备份 9.规范数据库设计 9.1.为什么需要设计 9.2.三大范式 前 ...

最新文章

  1. MySQL数据库子查询
  2. React Native小白入门学习路径——五
  3. 设计模式C#实现(十五)——命令模式
  4. html求和按钮,使用模板标记在html模板中求和
  5. echart 设置y轴间隔_ECharts 柱状图之间的间距怎么调整的?y轴的线怎么调出来? 做成表格状。...
  6. 写出记录型信号量中的wait操作代码_操作系统进程的同步与互斥及经典同步与互斥问题...
  7. android 开启线程关闭对话框,java – 从后台线程的PopUp对话框Android
  8. [好惆怅啊]TCL编码转换的问题
  9. Android实现百度离线地图+gps定位
  10. vim/gvim 主题配色方案下载 安装修改配置
  11. Exp6 信息搜集与漏洞扫描 ——20164316张子遥
  12. 我的世界服务器总是显示错误,win 10 进mc服务器总是错误 怎么办
  13. 电子元器件行业B2B交易管理系统:提升数据化驱动能力,促进企业销售业绩增长
  14. mysql 修改年龄_MYSQL——数据修改
  15. Spring - 装配bean
  16. Silicon C8051F340之时钟系统
  17. mysql sql语句中变量_mysql-sql语句中变量的使用
  18. L2TP与PPTP区别
  19. matlab 文件批量处理
  20. CSS3 渐变新特性和HTML5 Canvas画布背景渐变实现方法详解

热门文章

  1. 添加Page_Init事件
  2. python遍历文件夹下所有文件大小_python遍历文件夹读取文件大小 | 学步园
  3. ubuntu 14.04 mysql 5.7_ubuntu14.04 升级mysql到5.7版本
  4. 网闸与防火墙的区别_网关和网闸、防火墙的区别?
  5. 阿里云平台注册与使用Linux
  6. VS创建props属性表并在新项目中导入props属性表
  7. 对python的认识800字_我对python里True和False的理解
  8. q3c 更换q3x 需要重置硬盘吗_轻松拓展你的游戏库 西部数据WD_BLACK D10 游戏专用硬盘评测...
  9. 全球第三的晶圆代工厂 也要被卖了?
  10. Git 2.18版本发布:支持Git协议v2,提升性能