Mysql查询——学习阶段
1、开篇
搞开发的都知道,当数据量很大的时候,我们的代码逻辑的简单性就显得十分重要,否则处理起来就需要花费相当多的时间。另外还有一个地方需要注意的是我们写的sql语句。
一个拥有多年开发的资深开发者可以相比于刚从事开发经验不足的开发者写的sql效率要高些,数据量小基本没有什么关系。但是假如你在拥有高数据的BAT,或者国家企业,那这
条sql的差异就明显就大了。所以,能写出好的sql是相当重要的。
2、简单的查询sql
(1)select * from pj_appoint_order; 查询所有的约单,*表示这个表中所有的字段
(2)select id,user_name,user_phone from pj_appoint_order; 查询所有约单中id,user_name,user_phone这几个字段。
当然你可以改变这个表中查询出来表中字段的名称,例如:
select id as '编号',user_name as '用户名称',user_phone as '用户手机' from pj_appoint_order;
select id '编号',user_name '用户名称',user_phone '用户手机' from pj_appoint_order;
有as和没有都可以。
(3)select distinct user_name from pj_appoint_order; distinct去掉重复的用户名(保留一个)
(4)select * from pj_account where score>88;查询用户积分大于88的用户,不包含88.
当然,在我们mysql中
大于号:>
小于号:<
大于等于>=
小于等于<=
不等于 != 或者 <>
(5)select * from stu where type ='超级会员' and score >90; 查询用户为超级会员并且积分大于90的用户所有信息
(6)表达式的学习: not , or ,in , between and
select * from pj_account where score between 75 and 85;
select * from pj_account where not type='超级会员';
select * from pj_account where type!='超级会员';
select * from pj_account where score = 70 or score=81 or score=59; 查询用户积分为70或者81或者59的用户信息
---------------------------------查询面积为400或者500或者600的约单----------------------------------------------------------
SELECT * FROM pj_appoint_order WHERE acreage IN(400,500,600);
SELECT * FROM pj_appoint_order WHERE acreage = 400 OR acreage=500 OR acreage=600;
(7)like 与 通配符的使用
_:占一个字符。
%:多个字符进行匹配
SELECT * FROM pj_appoint_order WHERE user_name LIKE '%哥%'
SELECT * FROM pj_appoint_order WHERE user_name LIKE '_哥_'
(8)一般而言查询值为null的情况比较少,但是也是会存在的,查询null需要用is
select * from pj_account where score is null;
select * from pj_account where score is not null;
(9)排序 order by mysql默认的是升序排序(asc)
select * from pj_account order by id desc
(10) 聚集函数。聚合函数不对null进行操作
count()//统计数量
sum()//求和
max() //最大
min()//最小
avg()//平均
select count(*) from pj_account; 查询用户表中有多少条记录,其他的类似。可以自己试试。
select round( avg(ifnull(score,0)),2) from pj_account; 求平均成绩。
解析:如果积分是null则赋值为0,然后求平均值,求完平均值后保留两位小数。
(11) where 与 having 区别
1. having 对聚集函数进行条件筛选 ,如果最后的条件是 聚集函数 那么我们就用 having
2. 具体的某一条数据
综合我们学习的查询相关关键字:
书写的顺序:
select,from,where,group by,having,order by;
执行的顺序:
from:找到我们要操作的表。
where,group by,having, 相当与我们的条件
select :查询
order by:排序。
3、一份耕耘一份收货!兢兢业业,必有丰收。
Mysql查询——学习阶段的更多相关文章
- mysql 查询各个阶段所消耗的时间
- Mysql查询——深入学习
1.开篇 之前上一篇的随笔基本上是单表的查询,也是mysql查询的一个基本.接下来我们要看看两个表以上的查询如何得到我们想要的结果. 在学习的过程中我们一起进步,成长.有什么写的不对的还望可以指出. ...
- [转]向facebook学习,通过协程实现mysql查询的异步化
FROM : 通过协程实现mysql查询的异步化 前言 最近学习了赵海平的演讲,了解到facebook的mysql查询可以进行异步化,从而提高性能.由于facebook实现的比较早,他们不得不对php ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- mysql 中语句执行的顺序以及查询处理阶段的分析
原文链接:http://www.php.cn/mysql-tutorials-408865.html 本篇文章给大家带来的内容是关于mysql中语句执行的顺序以及查询处理阶段的分析,有一定的参考价值, ...
- 【数据库】9.0 MySQL入门学习(九)——获得数据库和表的信息、日期计算、查询、选择特殊列
1.0 SELECT语句用来从数据表中检索信息. SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to ...
- 【数据库】7.0 MySQL入门学习(七)——MySQL基本指令:帮助、清除输入、查询等
1.0 help == ? 帮助指令,查询某个指令的解释.用法.说明等.详情参考博文: [数据库]6.0 MySQL入门学习(六)——MySQL启动与停止.官方手册.文档查询 https://www. ...
- mysql查询、子查询、连接查询
mysql查询.子查询.连接查询 一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.gr ...
- 你真的会玩SQL吗?之逻辑查询处理阶段
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
随机推荐
- 利用Python进行数据分析(1) 简单介绍
一.处理数据的基本内容 数据分析 是指对数据进行控制.处理.整理.分析的过程. 在这里,“数据”是指结构化的数据,例如:记录.多维数组.Excel 里的数据.关系型数据库中的数据.数据表等. 二.说说 ...
- 怎样把win7系统下的屏幕设置成护眼的非常柔和的豆沙绿色?
经常面对电脑会导致眼睛过度疲劳,白色对眼睛的刺激是最大的,所以,最好不要用白色做电脑背景色 设置方法如下: 在桌面点右键选"个性化",接着点主窗口底部的"窗口颜色&quo ...
- jQuery中取消后续执行的内容
<html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title&g ...
- Scala快速概览
IDEA工具安装及scala基本操作 目录 一. 1. 2. 3. 4. 二. 1. 2. 3. 三. 1. 2. 3. 4. 5. 6. 7. 四. 1. (1) (2) (3) (4) (5) ( ...
- asp.net mvc 上传文件
转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...
- shiro的使用1 简单的认证
最近在重构,有空学了一个简单的安全框架shiro,资料比较少,在百度和google上能搜到的中文我看过了,剩下的时间有空会研究下官网的文章和查看下源码, 简单的分享一些学习过程: 1,简单的一些概念上 ...
- Sql Service 的job作业新建过程
第一步:打开sql service 找到 SQL SERVER Agent 下的 jobs 如图: 注:如果没有找到,请查看你安装sql service 的版本 通过 select @@VERSI ...
- 深入理解DOM节点关系
× 目录 [1]父级属性 [2]子级属性 [3]同级属性[4]包含方法[5]关系方法 前面的话 DOM可以将任何HTML描绘成一个由多层节点构成的结构.节点分为12种不同类型,每种类型分别表示文档中不 ...
- 如何用代码读取Office Online Server2016的文档的备注信息
前言 在一个项目上客户要求读取office online server 2016的对文档的备注信息,如下图: 以前思路老纠结在OOS这个在线上,总有以为这个信息存储在某个列表中,其实错了,这个备注信息 ...
- Amabri:如何删除或停止指定的服务
原文地址:https://cwiki.apache.org/confluence/display/AMBARI/Using+APIs+to+delete+a+service+or+all+host+c ...