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吗?查询指定节点及其所有父节 ...
随机推荐
- 详解web容器 - Jetty与Tomcat孰强孰弱
Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...
- Devexress XPO xpPageSelector 使用
在官网找到的.在这里做个备注. private void simpleButton1_Click(object sender, EventArgs e) { ) return; xpPageSelec ...
- Xcode7.1环境下上架iOS App到AppStore 流程② (Part 二)
前言部分 part二部分主要讲解 iOS App IDs 的创建.概要文件的配置.以及概要文件安装的过程. 一.iOS App IDs 的创建 1)进入如图1所示界面点击右上角箭头所指的加号 进入iO ...
- 【转】将grub2安装到u盘的方法
将grub2安装到u盘的方法 时间:2015-03-21来源:linux网站 作者:linux人 grub2在各大linux发行版中广泛采用,它非常强大,基本上大多数操作系统都是通过它引导起来的,它的 ...
- 在xcode中用 swift 进行网络服务请求
xcode集成开发环境是运行于Mac苹果电脑上用于开发swift应用程序的工具,利用xcode可以很方便.直观的开发OS X和iOS系统所支持的应用程序. 1 开发环境: Mac OS 10.11 X ...
- iframe高度自适应(同域)
今天解决了iframe高度自适应的问题,不过这只是同域下的页面嵌入,以下是代码: function SetCwinHeight(){ var iframeid = document.getElemen ...
- 【移动前端开发实践】从无到有(统计、请求、MVC、模块化)H5开发须知
前言 不知不觉来百度已有半年之久,这半年是996的半年,是孤军奋战的半年,是跌跌撞撞的半年,一个字:真的是累死人啦! 我所进入的团队相当于公司内部创业团队,人员基本全部是新招的,最初开发时连数据库都没 ...
- 如何使用VS在SharePont 2013中插入ashx文件
http://www.lifeonplanetgroove.com/adding-and-deploying-generic-handlers-ashx-to-a-sharepoint-2010-vi ...
- [Android Studio]SQLScout插件安装破解
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html [Android Studio]SQLS ...
- jTemplates部分语法介绍
1.{#if} {#if |COND|}..{#elseif |COND|}..{#else}..{#/if} Examples: {#if 2*8==16} good {#else} fail {# ...