zoukankan      html  css  js  c++  java
  • Oracle-查询

    字段的别名:SELECT子句中查询的内容是函数或者表达式,那么在结果集中对应的该字段的名字就是这个函数或者表达式,可读性会变的比较差,为此可以为这样的字段添加别名,这样在结果中该字段的名字就是这个字段的别名。别名不区分大小写,若希望区分大小写或者含有空格,那么需要使用双引号将别名括起来。
    and,or可以连接多个条件,但是需要注意的时and优先级高于or的,所以可以通过括号提高or的优先级
    like用于模糊匹配查询字符串,支持两个通配符 %:任意个字符;_:单一的一个字符
    IN(LIST),NOTIN(LIST)判断在列表中或不在列表中。in,not in常用在子查询中。
    BETWEEN...AND... 判断在一个区间范围内
    ANY(LIST),ALL(LIST) 是配合>>=<<=使用的 >any(list):大于列表其中之一(大于最小),<any(list):小于列表其中之一(小于最大)>all(list):小于列表其中所有(大于最大),<all(list):大于列表其中所有(小于最小)。any,all通常是用在子查询中,列表不会指定固定值(没意义)
    DISTINCT可以对结果集中指定字段的重复记录去除
    DISTINCT对多字段去重。去重不在保证每个字段一定没有重复值,去重原则是这些字段值的组合没有重复记录
    ORDER BY子句 是对结果集按照指定的字段的值进行升序或者降序 ORDER BY支持 ASC,DESC ASC为升序,从小到大,不写默认升序,
    DESC为降序,需要注意,ORDER BY只能定义在DQL的最后一个子句上
    ORDER BY 按照多个字段排序时,排序存在优先级首先将结果集按照第一个字段的排序方式进行排序,当第一个字段有重复值的时候,第一个字段值相同的记录之间在按照第二个字段的方式排序,以此类推.
    ORDER BY 排序的字段中若含有null值,那么null被认为是最大值.
    聚合函数:又称为多行函数,分组函数,聚合函数是用来对结果集进行统计的其中有4个针对值的统计,MAX,MIN,AVG,SUM 还有一个针对记录数的统计COUNT
    COUNT 是统计指定字段不为null的记录共多少条 聚合函数都是忽略null
    GROUP BY 子句可以将结果集按照指定的字段值一样的记录进行分组,配合聚合函数可以进行组内统计的工作。
    当SELECT中含有聚合函数时,凡不在聚合函数中的单独字段,都需要出现在GROUP BY子句中
    UROUP BY 按照多个字段分组的原则:这些字段值都是一样的记录被划分为一组
    WHERE不能使用聚合函数作为过滤条件,原因是过滤时机不对,where是查询表中数据的时候逐行进行过滤,将满足条件的记录形成结果集,而使用集合函数的记过进行过滤的前提是分组统计
    分组是建立在结果集上,而where是用来形成结果集时的过滤,所以使用聚合函数过滤应当是在where之后进行的HAVING子句,可以使用聚合函数最为过滤条件,having必须跟在group by 子句后面(不定义group by不能单独定义having)HAVING是用来添加过滤条件以去除不满足条件的分组的。
    关联查询:关联查询是指关联多张表联合查询记录,结果集中的字段可能来自多张表关联查询的关键点在于连接条件,数据库是根据连接条件查找到这些表中记录之间对应关系,从而从这些记录中获取要查询的字段来构成结果集中的各个字段。当某个字段在查询中发现多个表都存在时,要求必须指定该字段所属那张表,可以通过表名.字段名 的形式标注,也可以为表添加别名,然后通过表别名.字段名的形式标注,这样可以降低编写SQL语句的复杂度,增加可读性
    关联词查询中要求所有过滤条件必须与关联条件同时成立
    N张表关联查询,至少要有N-1个连接条件。不指定连接条件或者连接条件无效时,会产生笛卡尔积,这通常是一个无意义的结果集,应当避免。
    内连接:内连接也是关联查询的一种
    关联查询中,不满足连接条件的记录不会被查询出来。
    外链接:外链接在进行关联查询时,除了可以将满足连接条件的记录查询出来之外,还可以将不满足连接条件的记录也查询出来。外链接分为,左外链接、右外链接,全外链接左外链接:以join左侧表作为驱动表,该表中的所有记录都会查询出来,当某条记录不满足连接条件时,结果集中该条记录中来自join邹策表的字段值全部为null。
    自连接,当前表的一条记录可以对应当前表自己的多条记录,自连接的设计师为了解决数据属性相同,但是数据间又存在上下级关系的树状结构时使用。

    我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

    更多精彩以后更新,转载注明!

  • 相关阅读:
    Zend Studio下调试PHP的一点注意事项
    使用FTP出现中文乱码解决方案
    C++数据类型与C#对应表
    FineUI 开发B/S系统
    c#调用带输出参数的存储过程
    经典FormsAuthenticationTicket 分析
    C# Oracle数据库操作类实例详解
    如何使用C#的Hashtable[哈希表]
    对三层架构的理解
    C# 最简单的三层架构实例 ——转载自网易博客
  • 原文地址:https://www.cnblogs.com/CaiNiao-TuFei/p/7523692.html
Copyright © 2011-2022 走看看