五毛叶的SQL学习:

1.SELECT:(A 表名,a 字段)

SELECT A.b, C.c , D.d(a,b,c,d,e...各种自己需要的字段)
FROM  A(中心表名)

LEFT /INNER/RIGHT JOIN  B   ON  A.b=B.b (A表和B表公用的字段 a)

LEFT/INNER/RIGHT  JOIN  C  ON  A.c = C.c

LEFT/INNER/RIGHT  JOIN D  ON  A.C=D.d

ORDER BY A.b, C.c , D.d

2. GROUP BY

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

比如:字段:a,b,c 对C进行计数(MIN.MAX,SUM...)

则:可以 GROUP BY:a,b

举例:

SELECT A.b, MIN(C.c) , D.d(a,b,c,d,e...各种自己需要的字段)

FROM  A

LEFT JOIN  B   ON  A.b=B.b (A表和B表公用的字段 a)

LEFT JOIN  C  ON  A.c = C.c

LEFT JOIN D  ON  A.C=D.d

GROUP BY A.b,  D.d

3.WHERE ~ and ~ or

WHERE 用于为满足条件,指定标准的记录。

举例:

SELECT A.b, MIN(C.c) , D.d(a,b,c,d,e...各种自己需要的字段)

FROM  A

LEFT JOIN  B   ON  A.b=B.b (A表和B表公用的字段 a)

LEFT JOIN  C  ON  A.c = C.c

LEFT JOIN D  ON  A.C=D.d

where  A.b = '**'   and   B.b like '%**'   or    C.c >'**'

GROUP BY A.b,  D.d

运算符 描述
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

4. TO CHAR & HAVING

4.1 其它格式转化为字符串,一般我用  TO CHAR:日期转化为字符串。来搜索某些数据,拉取想要的日期区间。

如下:因我用了GROUP BY 所以不能直接 WHERE  TO CHAR。但是这里是可以用 HAVING 。

4.1.1

SELECT
*
FROM
(SELECT
J.JOBNO 工作号码
,MIN(JSD.SERVICE_DATE) 服务日期
,JRS.MTTR
,M.OPTION_TEXT 工作类别
FROM JOBDTL J
INNER JOIN JOBRPT_SERVICE_DTL JSD on J.JOBNO=JSD.JOBNO --SERVICE_DATE
INNER  JOIN  JOBRPT_REPIR_SUM JRS ON J.JOBNO=JRS.JOBNO --MTTR
INNER  JOIN  MSTJOBCATE M ON  J.JOB_CATE =M.OPTION_SN --JOBCATE
WHERE M.OPTION_TEXT='紧急维修' AND J.JOBNO LIKE '%C' AND JRS.MTTR > 12 or JRS.MTTR<4
GROUP BY
J.JOBNO   
,JRS.MTTR
,M.OPTION_TEXT)
WHERE TO_CHAR(服务日期,'YYYYMM')='201607'
 
 

4.1.2

SELECT
J.JOBNO 工作号码
,MIN(JSD.SERVICE_DATE) 服务日期
,JRS.MTTR
,M.OPTION_TEXT 工作类别
FROM JOBDTL J
INNER JOIN JOBRPT_SERVICE_DTL JSD on J.JOBNO=JSD.JOBNO --SERVICE_DATE
INNER  JOIN  JOBRPT_REPIR_SUM JRS ON J.JOBNO=JRS.JOBNO --MTTR
INNER  JOIN  MSTJOBCATE M ON  J.JOB_CATE =M.OPTION_SN --JOBCATE
WHERE M.OPTION_TEXT='紧急维修' AND J.JOBNO LIKE '%C' AND JRS.MTTR > 12 or JRS.MTTR<4
GROUP BY
J.JOBNO   
,JRS.MTTR
,M.OPTION_TEXT
having JRS.MTTR>13

毛毛虫学习日记_SQL的更多相关文章

  1. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  2. android学习日记05--Activity间的跳转Intent实现

    Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

  3. android学习日记03--常用控件Dialog

    常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...

  4. android学习日记03--常用控件checkbox/radiobutton

    常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

  5. android学习日记03--常用控件button/imagebutton

    常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...

  6. Zend Framework学习日记(2)--HelloWorld篇(转)

    Zend Framework学习日记(2)--HelloWorld篇 这一篇主要演示如何用zf命令行工具建立一个基于Zend Framework框架的工程,也是我初学Zend Framework的小练 ...

  7. Zend Framework学习日记(1)--环境搭建篇(转)

    Zend Framework学习日记(1)--环境搭建篇 (1)开发工具 Zend Framework框架:http://framework.zend.com/download/latest 包含2个 ...

  8. Python 学习日记(第三周)

    知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...

  9. 配置ssh免密码登录——集群学习日记

    度过了难熬的考试月时期之后,最近和小伙伴一起参加的的比赛进入了紧张的准备时期.在进行工作的时候,发现有很多基础的知识点,自己不是很清楚以及了解,所以在想,要不就边学习的时候边写下学习日记,以供自己后来 ...

随机推荐

  1. c# 反射应用之工厂

    反射是.net的核心功能,十分的强大.但是好像微软封装的太过了,作为程序员,在实际项目中我很少用到反射(估计是参加的大型项目太少了,需要交互第三方的项目太少了). 工厂模式是软件设计模式中重要的一种, ...

  2. C#机器视觉入门系列1-转化为灰度图&&3*3模糊

    这是我入门机器视觉的系列学习经验之开篇,本来想着依靠opencv快速实现一些功能,但是想了一下既然是学数学的,还是应该自己多算算,写一些自己理解的东西才好. 入门篇很简单,就只是实现了转化成灰度图以及 ...

  3. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(04)

    1.3.3 框架窗口对象 MFC的CWnd类及其派生类为窗口或应用程序创建的窗口提供了面向对象的接口. CMainWindow是从CFrameWnd类派生而来,CFrameWnd模仿框架窗口的行为,可 ...

  4. 关于粒子发射(CAEmitterLayer)

    技术是条长而远的路,只有不断学习丰富自己的技能才能让自己行走在路上! CAEmitterCell CAEmitterCell: CAEmitterCell是粒子发射系统里的粒子,用CAEmitterC ...

  5. ssh无密钥登陆的简单配置

    主要目的是把本地的公钥放到远端被登陆的host上. 本地操作: # ssh-keygen # ssh-copy-id user@host 远端sshd_config配置: RSAAuthenticat ...

  6. web前端基础篇⑩

    1.960栅格式布局法屏幕分辨率为1024*768.采用接 main宽为960px的布局方式12列式:每格60px 间距20px 3 6 3版 三格式布局(最常用)16列式:每格40px 间距20px ...

  7. Selenium+Python的环境配置

    因为项目的原因,最近较多的使用了UFT来进行自动化测试工作,半年没有使用Selenium了,于是在自己的电脑上重新配置了基于python3.x的selenium环境,配置过程大致如下: 1. Sele ...

  8. 微软MVP衣明志告诉你,小白全方位攻略,逆袭互联网达人

    技术专家们的起步之路是不尽相同的,今天我们要介绍的衣明志老师就是一个从普通游戏爱好者修炼成的技术大咖.尽管当时遇到了不少的困难,但是努力坚持自己解决问题让衣明志老师在技术之路上有了自己的特点. 我们先 ...

  9. JQ源码学习-1-无new构建

    此文章仅为个人学习 Aaron的jQuery源码分析 笔记之用. 一:采用 构造函数 返回 原型初始化方法,原型初始化方法又返回构造函数 的方式代替new 但当 返回的却是‘web’而不是Object ...

  10. SSH面试题收藏

    Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 持 ...