一.OR查询

1.在AND多个筛选条件和一个or条件时,如果没有括号包裹,or会就近原则包裹之后的所有and条件,也就是同级的多个and条件只能对,or条件的一边起作用

2.如果or条件两边的筛选条件,各有10个,,其中9个相同,不能抽出相同的9个条件放后面,,这样的写法会使这9个条件只会对or条件后面起作用

二.union all查询

1.数据库中两张完全独立的表,但其中某些的列含义一样,这时又需要同时在这两张表中,所有数据的基础上,去筛选出需要的数据,这时可以用union

合并两张表查出来的数据,但列名要相同

SELECT FA_APPLY AS WF_CREATE,FA_JSON AS WF_JSON FROM T_FORM_APPROVE
UNION ALL
SELECT WF_CREATE,WF_JSON FROM T_FORM_WORK;

三.ROWNUM分页查询

1.首先要明确一点:数据库操作时每生成一张临时新表时都会默认自动生成ROWNUM这个列,不管你查询时是否把它查询出来,它都存在

2.2016-08-08:伪列ROWNUM机制

oracle的rownum不能这么用。rownum是对结果集的编序排列,始终是从1开始,所以你的rownum>5永远为假,所以就没记录返回。rownum只能用于<。
当然你可以做嵌套,将rownum选出来后再做查询。

3.分页三层嵌套查询:

  1.第一层数据查询:查询出想要的结果集

  2.第二层排序查询:通过排序整理出有序的结果集

  3.第三层筛选查询:通过大与小区间,筛选出符合需求的数据

  如果只有两层:1.顺序错乱 2.因为伪列只能从1查起

4.注意:

  当去重复distinct和分页一起使用时会起冲突,去重复会失效; 去重复的限制条件,,只有在所有数据都相同的情况下才可以去重复,只要有一个值不同就无法去重复,所有和分页同时使用时会起冲突

四.查询

1.查询出来的结果不过作为筛选条件,只有已经存在的表即使是临时表中的数据,才能作为筛选条件。但是排序,分组等其它操作要用结果集的数据

2.2016-07-13

主副表,只要满足关联条件,就会生成一条数据,不管这条数据有多少个空列

3.关联查询时:主表,主键,副表,外键,有两种情况

a.主表+外键:ON条件,这里只能当做匹配条件:匹配副表里的数据

这里通过筛选副表被匹配的列,同样可以达到下面主表+主键,筛选数据的效果

b.主表+主键:ON条件,这里可以当做筛选条件where:筛选主,副表同时满足的数据

主表查询的是数据条数,副表查询的是数据值,ON条件,满足关联条件的数据会筛选出来,但是这里有一个前提是主键,筛选主表的数据,匹配副表的值

五.分组查询 2016-06-23

1.SELECT DEPT ,COUNT(ORG_ID) FROM ORG GROUP BY DEPT,在SQL语句进行分组后,查询内容只能是被分组列,或者其它列的函数操作例如,记数,求和,平均数,最大最小值

2.想要在分组SQL语句中使用where条件筛选,只能通过查询子表,在子查询中使用,这样可以变相的达到使用where

SELECT ORG_NAME FROM (SELECT ORG_NAME FROM T_ORG WHERE ORG_ID = 'admin') temp GROUP BY temp.ORG_NAME ;

3.分组查询可以同时分组多个列

4.不断通过子查询,得出临时表,查询临时表,得到你最终想要的数据

SELECT
  ORG_NAME,
  SUM(counts)
  FROM
    (
      SELECT
        O.ORG_NAME,
        U.user_login_name,
        T.counts
      FROM
        T_ORG O
      LEFT OUTER JOIN
        t_user_rela_org R
      ON
        O.T_ORG_ID = R.T_ORG_ID
      LEFT OUTER JOIN
        T_USER U
      ON
        U.USER_ID = R.USER_ID
      LEFT OUTER JOIN
        (
          select
            PROJECT_CREATE USER_ID,
            count(project_id) counts
          from
            t_project
          group by
            PROJECT_CREATE
        ) T
      ON
        U.USER_ID = T.USER_ID
    WHERE
      O.ORG_ID = 'admin'
  ) temp
GROUP BY
  ORG_NAME ;

6.联合查询后分页查询2016-07-13

   a.需要二次时间排序和在第二层分页筛选,因为第一层筛选受联合查询的影响,数据顺序是混乱的,外加一层排序后再分页

七.and查询2016-07-20

1:条件之间没有先后顺序,满足的条件是同时都满足

2:当多个and条件产生冲突时,筛选条件全部失效,列如.a>b and a<b 现实中没有满足条件的a,所以失效

3:注意

  a.根据列筛选数据时,同级的and条件中只能出现一次,可以避免and条件冲突

b.根据列中的值筛选数据时.同级的and条件中可以出现多次

   纠正:2016-07-21:a,b

   a.筛选and条件冲突,其实是因为and条件中有一个条件是函数,猜测,函数的优先级高会先执行或者被()包裹的代码优先级高

  

SQL语句or查询,union all查询,分页查询,分组,AND查询的更多相关文章

  1. Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束”

    Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束 Sql 中的连接查询:就是为了避免笛卡尔积,因为涉及到多表查询的化,不使用连接查询,会先将多个互相乘,求出笛卡尔积,然后在在里面查询符合的 ...

  2. sql语句or与union all的执行效率比较

    看到一篇文章是讲sql语句or与union all的执行效率比较的,以前没怎么注意这个问题,感觉文章写的不错,转来一看. 文章原链接:http://www.cunyoulu.com/zhuanti/q ...

  3. SQL语句汇总(三)——聚合函数、分组、子查询及组合查询

    拖了一个星期,终于开始写第三篇了.走起! 聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均 ...

  4. SQL语句汇总(终篇)—— 表联接与联接查询

    既然是最后一篇那就不能只列出些干枯的标准语句,更何况表联接也是SQL中较难的部分,所以此次搭配题目来详细阐述表联接. 上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需 ...

  5. java:Hibernate框架3(使用Myeclipse逆向工程生成实体和配置信息,hql语句各种查询(使用hibernate执行原生SQL语句,占位符和命名参数,封装Vo查询多个属性,聚合函数,链接查询,命名查询),Criteria)

    1.使用Myeclipse逆向工程生成实体和配置信息: 步骤1:配置MyEclipse Database Explorer: 步骤2:为项目添加hibernate的依赖: 此处打开后,点击next进入 ...

  6. SQL 语句中的union操作符

    前端时间,用到了union操作符,周末有时间总结下,w3c手册内容如下: SQL UNION操作符 UNION操作符用于合并两个或多个select语句的结果集. 注意:UNION内部select语句必 ...

  7. linux之SQL语句简明教程---UNION ALL

    UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起. UNION ALL 和UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复 ...

  8. linux之SQL语句简明教程---UNION

    UNION 指令的目的是将两个 SQL 语句的结果合并起来.从这个角度来看, UNION 跟 JOIN有些许类似,因为这两个指令都可以由多个表格中撷取资料. UNION 的一个限制是两个 SQL 语句 ...

  9. mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值

    1.in查询条件是list时 <select id="getMultiMomentsCommentsCounts" resultType="int"> ...

  10. SQL语句中:UNION与UNION ALL的区别

    有些人看到题目,瞬间觉得楼主也太弱了吧,这种问题也要拿出来写,这种问题 随便会点sql 的人基本都会 Union   是会删除冗余数据 Union ALL 不会删除冗余数据 将所有的结果都展现给用户 ...

随机推荐

  1. 食物链(带权&种类并查集)

    食物链 http://poj.org/problem?id=1182 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9326 ...

  2. chrome谷歌浏览器常用快捷键搜集整理

    搜集了下面比较实用的快捷键,部分不好操作的组合键就不写了:Ctrl+N:打开新窗口. Ctrl+T:打开新标签页.Ctrl+W:关闭当前标签Alt+F4:关闭chrome浏览器Ctrl+Tab:切换到 ...

  3. 问题1:jquery实现全选功能,第二次失效(已解决)

    问题:使用了attr("checked",true”)设置子复选框的被选状态,第一次执行功能正常,但第二次失效. 解决方案:将attr("checked",tr ...

  4. JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系

    ODBC: (Open Database Connectivity,开放数据库互连),它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用SQL来完成其大部分任务 ...

  5. stark组件之搜索【模仿Django的admin】

    一.先看下django的admin是如何做搜索功能的 配置一个search_fields的列表就可以实现搜索的功能 class testbook(admin.ModelAdmin): # 第一步,定义 ...

  6. 理解HTTP之keep-alive(转)

    理解HTTP之keep-alive 在前面一篇文章中讲了TCP的keepalive,这篇文章再讲讲HTTP层面keep-alive.两种keepalive在拼写上面就是不一样的,只是发音一样,于是乎大 ...

  7. day 30 HTML

    HTML: 超文本标记语言(Hyper Text Markup Language) Html基本结构 <!DOCTYPE html> <html> <!-- 定义HTML ...

  8. [z]Linux下压缩与解压

    1.压缩命令: 命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:tar  -z ...

  9. 地图调起URI API(通过连接直接调用百度地图)

    网站:http://lbsyun.baidu.com/index.php?title=uri/api/web 地图调起URI API 百度地图URI API是为开发者提供直接调起百度地图产品(百度We ...

  10. (转找了好久)实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC)的形式,共享在另外一个2008服务器上

    目的:实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC)的形式,共享在另外一个2008服务器上) 准备工作 1.共享资源服务器为 ShareServer,IP地址为:192.168. ...