zoukankan      html  css  js  c++  java
  • 查询语句

    anyall
    不能单独使用 需要与比较符号配合使用
    >any 大于最小的
    select * from emp where sal >any (1000,2000,3000) ;
    <any 小于最大的
    >all 大于最大的
    <all 小于最小的
    
    distinct 过滤重复关键字
    
    
    聚合函数
    即 数据统计
    max(col) 
    min(col)
    avg(col)
    sum(col)
    count(col),count(*)
    当使用count(column) 时,该字段含null值,计数器会将该null值的这一列忽略,所以会造成统计数据有误差
    其中的空值可以使用nvl 和 nvl2函数处理
    select count(nvl(sal,0)) from emp ;
    
    
    select * 
    from tablename
    where id = 1 
    order by sal ;
    
    
    查询语句执行顺序
    from子句  
        执行顺序从后往前,从右到左,故数据量较少的表尽量放在后面
        select t1.col , t2.col from t1 , t2 where t1.id = t2.id and t1.sal > 1000;
    where 子句
        执行顺序为自上而下,从右到左,故将能过滤掉最大数量记录的条件写在where子句的最右
    group 子句
        执行顺序从左往右分组,故最好将group by 前使用where将不需要的记录在group by 之前过滤掉
    having 子句
        消耗资源 尽量避免使用,having会在检索出所有记录之后才对结果集进行过滤,需要排序等操作。
        
    
    group by 子句  分组 
    当希望得到每个部门的平均薪水,而不是整个机构的平均薪水
    把整个数据表按部门分成一个个小组,每个小组中包含一行或多行数据,在每个小组中在使用分组函数进行计算,每组返回一个结果
    划分的小组由多少,最终的结果集行数就有多少
    
    
    having 子句
    having子句用来对分组后的结果进一步限制,比如按部门分组后,得到每个部门的最高薪水,可以继续限制输出结果。
    必须跟在group by 后面,不能单独存在
        
        
    select子句
        少用*号,尽量取字段名称,oracle在解析的过程中,通过查询数据字典将*号依次转换成所有的列名,消耗时间
        
        
    order by 子句 
        执行顺序从左到右,消耗资源
    order by 子句  对数据按一定规则进行排序操作   必须是查询语句的最后一个子句
    ASC(ascending )升序(默认)    DESC(descending )降序
    null值视作最大
    多列排序:
    首先按照第一列进行排序,如果第一列数据相同,再以第二列排序,以此类推
    例如:select ename , deptno , sal from emp order by deptno asc , sal desc ;
     
     
  • 相关阅读:
    Asp.net 表单打印时的样式设置【原】
    Asp.net页面编辑时怎样获取隐藏列的值【原】
    C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件【整理】
    SQL 快速删除表数据并不生成日志的语句【搜藏】
    Asp.net 前段页面控件 filedset 对应的服务端控件【原】
    Asp.net 关于 HTTP403 – 访问错误 的原因及解决【原】
    Js对一个对象应用滤镜的几种方法【整理】
    Asp.net 查找不到动态创建的控件之解决办法【整理】
    C# windows service承載遠程對象
    自己写的一个日志记录类
  • 原文地址:https://www.cnblogs.com/myjavalife/p/4893016.html
Copyright © 2011-2022 走看看