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. 用python实现逻辑回归

    机器学习课程的一个实验,整理出来共享. 原理很简单,优化方法是用的梯度下降.后面有测试结果. # coding=utf-8 from math import exp import matplotlib ...

  2. 小试ASP.NET MVC——一个邀请页面的实现

    上篇博客我们大体介绍了ASP.NET MVC以及如何去新建项目,这篇博客我们讲点干货.小试ASP.NET MVC,我们来写一个简单的邀请WEB. 先来建立一个Models,叫GuestResponse ...

  3. C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实现

    ”摇一摇周边“是微信提供的一种新的基于位置的连接方式.用户通过“摇一摇”的“周边”页卡,可以与线下商户进行互动,获得商户提供的个性化的服务.微信4月份有一个赠送摇一摇设备的活动,我们有幸获得赠送资格, ...

  4. Attribute操作的性能优化方式

    Attribute是.NET平台上提供的一种元编程能力,可以通过标记的方式来修饰各种成员.无论是组件设计,语言之间互通,还是最普通的框架使 用,现在已经都离不开Attribute了.迫于Attribu ...

  5. 【Java每日一题】20161230

    // 20161229问题解析请点击今日问题下方的"[Java每日一题]20161230"查看(问题解析在公众号首发,公众号ID:weknow619)package Dec2016 ...

  6. shift粘滞键后门创建/复原批处理

    创建shift粘滞键后门: 1 c: 2 3 cd \Windows\System32\ 4 5 rename sethc.exe bak_sethc.exe 6 7 xcopy cmd.exe se ...

  7. [转]ThoughtWorks(中国)程序员读书雷达

    http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/#rd?sukey=f64bfa68330 ...

  8. elasticsearch__5__java操作之FilterBuilders构建过滤器Query

    FilterBuilders构建过滤器Query 代码如下: package com.elasticsearch; import org.elasticsearch.action.ActionList ...

  9. iOS UIApplication sharedapplication用法

    应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一 ...

  10. Android Studio使用时源码到处报红色警告,运行时又没错

    转载地址:http://www.07net01.com/program/2016/04/1452749.html [摘要:正在AS上开辟时,碰到那个题目,翻开全部的Java源文件,右边一起标赤色,找没 ...