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查询——学习阶段的更多相关文章

  1. mysql 查询各个阶段所消耗的时间

  2. Mysql查询——深入学习

    1.开篇 之前上一篇的随笔基本上是单表的查询,也是mysql查询的一个基本.接下来我们要看看两个表以上的查询如何得到我们想要的结果. 在学习的过程中我们一起进步,成长.有什么写的不对的还望可以指出. ...

  3. [转]向facebook学习,通过协程实现mysql查询的异步化

    FROM : 通过协程实现mysql查询的异步化 前言 最近学习了赵海平的演讲,了解到facebook的mysql查询可以进行异步化,从而提高性能.由于facebook实现的比较早,他们不得不对php ...

  4. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. mysql 中语句执行的顺序以及查询处理阶段的分析

    原文链接:http://www.php.cn/mysql-tutorials-408865.html 本篇文章给大家带来的内容是关于mysql中语句执行的顺序以及查询处理阶段的分析,有一定的参考价值, ...

  6. 【数据库】9.0 MySQL入门学习(九)——获得数据库和表的信息、日期计算、查询、选择特殊列

    1.0 SELECT语句用来从数据表中检索信息. SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to ...

  7. 【数据库】7.0 MySQL入门学习(七)——MySQL基本指令:帮助、清除输入、查询等

    1.0 help == ? 帮助指令,查询某个指令的解释.用法.说明等.详情参考博文: [数据库]6.0 MySQL入门学习(六)——MySQL启动与停止.官方手册.文档查询 https://www. ...

  8. mysql查询、子查询、连接查询

    mysql查询.子查询.连接查询 一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.gr ...

  9. 你真的会玩SQL吗?之逻辑查询处理阶段

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

随机推荐

  1. ASP.NET MVC5下载数据到Excel文件

    项目中的一个功能是将数据导入到Excel文件中,这里使用NPOI操作Excel,代码如下: public class Excel : IDataTransfer { public Stream Exp ...

  2. ASP.NET MVC——URL路由

    在MVC之前,ASP.NET假设请求的URL与服务器上的文件之间有关联,服务器接受请求,并输出相应的文件.而在引入MVC后,请求是由控制器的动作方法来处理的.为了处理URL,便引入了路由系统. 首先我 ...

  3. c++ builder 2010 错误 F1004 Internal compiler error at 0x9740d99 with base 0x9

    今天遇到一个奇怪的问题,拷贝项目后,在修改,会出现F1004 Internal compiler error at 0x9740d99 with base 0x9 ,不管怎么改,删除改动,都没用,关闭 ...

  4. golang os.OpenFile

    os.O_WRONLY | os.O_CREATE | O_EXCL           [如果已经存在,则失败] os.O_WRONLY | os.O_CREATE                 ...

  5. 一些简单的C语言算法

    1. 要求输入一个正整数,打印下述图形 输入:5 输出: * ** *** **** ***** 实现代码如下: #include <stdio.h> int main(int argc, ...

  6. 如何:加载分页结果(WCF 数据服务)

    WCF 数据服务 允许数据服务限制单个响应源中返回的实体数.在此情况下,源中的最后一项包含指向下一页数据的链接.通过调用执行 DataServiceQuery 时返回的 QueryOperationR ...

  7. spring和struts2的整合的xml代码

    导入spring的pring-framework-4.0.4.RELEASE的所有包,导入struts2下(对于初学的推荐)bin下所有的包,虽然有些包可以能现在你用不到,但可以保证你基本上不会出现缺 ...

  8. Atitit Atitit.软件兼容性原理----------API兼容 Qa7

    Atitit Atitit.软件兼容性原理----------API兼容 Qa7 1. 兼容性的重要性与反面教材1 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法 ...

  9. Angular的自定义指令以及实例

    本文章已收录于:  AngularJS知识库  分类: javascript(55)  http://www.cnblogs.com/xiaoxie53/p/5058198.html   前面的文章介 ...

  10. 纯CSS3实现多层云彩变换飞行动画

    查看效果:http://hovertree.com/texiao/css3/4/效果2 效果图: 代码如下: <!doctype html> <html lang="zh& ...