zoukankan      html  css  js  c++  java
  • mysql 表查询注意

     (1)where 约束

    where子句中可以使用
    1.比较运算符:>、<、>=、<=、<>、!=
    2.between 80 and 100 :值在80到100之间
    3.in(80,90,100)值是10或20或30
    4.like 'xiaomagepattern': pattern可以是%或者_。%小时任意多字符,_表示一个字符
    5.逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not
    (2)group by 分组
    1、首先明确一点:分组发生在where之后,即分组是基于where之后得到的记录而进行的
    2、分组指的是:将所有记录按照某个相同字段进行归类,比如针对员工信息表的职位分组,或者按照性别进行分组等
    3、可以按照任意字段分组,但是分组完毕后,比如group by post,只能查看post字段,如果想查看组内信息,需要借助于聚合函数
    4、group by 后条件不能用where 要用having 过滤
    (3)聚合函数
    max()求最大值
    min()求最小值
    avg()求平均值
    sum() 求和
    count() 求总个数
    
    #强调:聚合函数聚合的是组的内容,若是没有分组,则默认一组
    (4)HAVING过滤
    HAVING与WHERE不一样的地方在于
    
    #!!!执行优先级从高到低:where > group by > having 
    #1. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
    
    #2. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数
    (5)order by 查询排序
    升序后加asc
    降序后加desc

    (6)limit  限制查询的记录数:
    在过滤、排序完可进行限制

    (7)其它
    1、去重时尽量用group by ,尽量不用distinct,distinct效率低
    2、用count()时优先选择count(1)或count(主键),效率高
    3、临时表后必须加 as 名
     
    
    
    
    
     
  • 相关阅读:
    利用itextsharp.dll 导出pdf格式文件
    Oracle 连接失去联系、链接空闲例程
    Log4net用法
    oracle 用户锁定(ORA28000:the account is locked)的解锁方法:
    智能提示框设计 仿携程
    利用System.Net.Mail 的SmtpClient发送邮件
    CTE实现嵌套递归
    读入excel中的数据到数据库中
    项目发布遇见的问题的整理
    JavaScript substring() 方法
  • 原文地址:https://www.cnblogs.com/zhaosijia/p/9581478.html
Copyright © 2011-2022 走看看