SQL执行顺序:

1、 FROM:对FROM子句中的前两个表执行笛卡尔积(交叉联接),生成虚拟表VT1。

2、 ON:对VT1应用ON筛选器,只有那些使为真才被插入到TV2。

3、 OUTER (JOIN):如果指定了OUTER JOIN(相对于CROSS JOIN或INNER JOIN),保留表中未找到匹配的行将作为外部行添加到VT2,生成TV3。如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1到步骤3,直到处理完所有的表位置。

4、 WHERE:对TV3应用WHERE筛选器,只有使为true的行才插入TV4。

5、 GROUP BY:按GROUP BY子句中的列列表对TV4中的行进行分组,生成TV5。

6、 CUTE|ROLLUP:把超组插入VT5,生成VT6。

7、 HAVING:对VT6应用HAVING筛选器,只有使为true的组插入到VT7。

8、 SELECT:处理SELECT列表,产生VT8。

9、 DISTINCT:将重复的行从VT8中删除,产品VT9。

10、ORDER BY:将VT9中的行按ORDER BY子句中的列列表顺序,生成一个游标(VC10)。

11、TOP:从VC10的开始处选择指定数量或比例的行,生成表TV11,并返回给调用者。

Group by 和 Having

SELECT region, SUM(population), SUM(area)

FROM bbc

GROUP BY region

先以region把返回记录分成多个组,这就是GROUP BY的字面含义,分完组后,然后用聚合函数对每组中的不同字段(一或多条记录)作运算(select 在group by 后执行)

SELECT region, SUM(population), SUM(area)

FROM bbc

GROUP BY region

HAVING SUM(area)>1000000

having 用在group 之后,对于分组后的结果进行筛选,相当于group by 的where.

INSTR函数

INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)

例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。

默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。

所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL的显示结果是

Instring

——————

14

order by

现在想要给这几条记录进行排序,而且要使字段a的值为2,3,7的排在最前面,再按照b排序,那么:

------------------------------------------------------------

order by case a when '2' then 1 when '3' then 2 when '7' then 3 when '1' then 4 ....end,b

函数类型:分析函数 分组函数 见:http://blog.csdn.net/paopaomm/article/details/5741573

直接点oracle表编辑,ORACLE SQL 知识点(随时编辑)相关推荐

  1. oracle表数据转换成sql,ORACLE8I转换数据到SQLSERVER数据库

    最近做一个项目的DOTNET版,说是升级,从ASP升为DOTNET,可因为项目架构原因,数据库得从ORACLE转为SQL SERVER...^_|| ,之前未使用过ORACLE,转换数据过程中碰到了不 ...

  2. oracle如何复制dept,[oracle]表复制的sql语句

    oracle复制表sql 可以复制表的结构,也可以复制查询结果,有的时候需要小表,这样比较方面. 使用环境: oracle 10.2 ;scott  的dept表 表结构: SQL> desc ...

  3. oracle表 游标,Oracle游标表达式和表函数

    Oracle游标表达式是Oracle数据库中的重要概念,下面就为您详细介绍Oracle游标表达式和表函数方面的知识,供您参考学习之用. Oracle游标表达式(有时称为游标子队列)是 SQL 语言的一 ...

  4. exp oracle 表空间,oracle之EXP导出表空间错误解决

    导出表空间 第一 以DBA的权限登录 第二 检查表空间是否自我包容,检查结果将被放到视图transport_set_violations SQL> execute dbms_tts.transp ...

  5. oracle表参数,Oracle 表的创建 及相关参数

    1.创建表完整语法 CREATE TABLE [schema.]table (column datatype [, column datatype] - ) [TABLESPACE tablespac ...

  6. oracle 表跟踪,Oracle表变化趋势追踪记录

    #DBA_HIST_SEG_STAT可以看出对象的使用趋势,构造如下SQL查询出每个时间段内数据库对象的增长量,其中DB_BLOCK_CHANGES_DELTA为块个数 select c.SNAP_I ...

  7. 如何手动修改oracle表空间,ORACLE数据库创建和修改表空间

    -建立表空间(oracle中的tablespace(表空间)) CREATE TABLESPACE data01 DATAFILE 'D:\oracle\ora92\oradata\db\DATA01 ...

  8. oracle 表收缩,Oracle在线收缩表——shrink space

    表的年限比较久,水位线特别高,通过shrink 方式在线回收(生产要在空闲时操作) –统计需要收缩表的信息(手工统计是为了下面查询水位线更准确) SQL> exec dbms_stats.gat ...

  9. Oracle 表空间常用sql

    --查询表空间使用情况 select a.tablespace_name,a.bytes / 1024 / 1024 "sum MB",(a.bytes - b.bytes) / ...

  10. oracle表空间管理sql,oracle表空间管理维护

    1. 新表空间的创建 语法格式: CREATE TABLESPACE 表空间名 DATAFILE 文件标识符[,文件标识符]... [DEFAULT STORAGE(存储配置参数)]  [ONLINE ...

最新文章

  1. .PHONY makefile中的伪目标
  2. 通俗易懂的图解堆排序
  3. Android:Layout_weight的深刻理解
  4. 查看Linux服务器的CPU详细信息
  5. python办公自动化excel_python办公自动化:Excel操作入门
  6. JavaEE实战班第13天
  7. Python清华源或豆瓣源安装包
  8. java代码ftp重命名未生效_java实现FTP远程文件移动(重命名、复制、拷贝) | 学步园...
  9. win10创建mysql数据库吗_win10 sqlite3创建的数据库文件在哪
  10. 我的WCF之旅(1):创建一个简单的WCF程序(转载)
  11. Element UI踩坑记 —— el-table中 formatter 的属性居然失效了
  12. 1.2.2算法设计题
  13. java web程序设计任务教程——源码(全)
  14. Godot入门遇到的一些问题汇总
  15. 空手套白狼案例,18个月零成本开了 3 家健身房,分红400多万!
  16. 找不到驱动程序类,加载驱动失败,连接数据库失败
  17. 状态方程simulink仿真_控制系统设计与仿真作业与复习资料
  18. 云和恩墨 -全球化数据资产端到端解决方案服务商
  19. IOS 应用运行环境理解
  20. 风影总结NHibernate1

热门文章

  1. TOJ3649欧拉回路
  2. 请各位博友帮帮出出主意呀
  3. [开发语言]C#项目如何制作安装程序
  4. poj 3667 Hotel 线段树 内存分配问题
  5. Screen Recorder for Mac屏幕录制软件
  6. 如何在Mac 上的“自动操作”中使用所选文件创建工作流程?
  7. Vue:列表渲染 v-for on a template
  8. 确保大数据安全的5个最佳实践措施
  9. CentOS 6.9之LVM创建,扩容
  10. 《精通 ASP.NET MVC 4》----1.5 ASP.NET MVC 4的新特性