开始记录最近学习了一些基础的SQL知识。

说起数据库,想到当时学习数据库概论这本书的时候,就学了一些基本的SQL语句以及数据库理论知识,记得最当时考试的数据库范式的知识,不知当时是怎么过来的,到现在对这些知识也模模糊糊,但是想研究一下这些内容。

其实,目前来说,对于数据库体系结构,SQL执行的原理不是特别的清楚,仅仅是搜集一些最佳的SQL书写的优化进行,有空可以研究一下数据库底层的一些东西。

刚开始吧,先回顾一下SQL语句吧,因为自己开发最多的还是SQL语句较多,其他的暂时用的不太多。

SQL:

  1.in ( select )   = 是其中的一种

  2.exists select null 这种模式 子查询  1:n的全表扫面

  3.group by  having  模式 (AVG   SUM COUNT  MAX )

  4. from  (select  .......   )  a  where  .....  模式

5. like  ,% ,between ....and....

  注意:下面是一些统计仅仅对于Oracle 10g

    a.开窗函数SUM(C) OVER (PARTITION BY B)   数据不少 列所在的类     与Group BY  一组数据 少了一些数据  类中的统计。

  6.少用distinct,union,效率不高

  7.with nolock用在Select里面,提高效率

  8.for update对查询进行加锁,保证不会发生不可重复多机制

=======================

  一些报表采取存储过程,这样就涉及到一些临时表,有临时表主要是为了提高检索的速度,负责大量的表关联导致查询的效率很慢。他仅仅存储一些临时的数据,仅      仅对当前会  话或者当前的事物有效,不会占用表空间,几乎都在内存里面进行。

=======================

补充几个常见的关键字:

  case when  then  end 的报表的查询。

  left out join   on

  right out join  on

  inner join = 常见的表连接

  case when (搜素函数) 、union  (常见的行转列)

  交叉连接(两个表的列综合)  select ta.*,tb.* from ta,tb (ta*tb的行数)

  为了是oracle的子查询的语句执行的效率更高,可以使用with as语法(connect by)

  推荐尽量使用表连接,减少使用子查询,因为子查询会产生全表扫描(本质就是IO的次数太多,导致效率低下,IO瓶颈就是速度不匹配) 

  SQL编写基本时间久了,写的多了也就熟悉了(记得当时开发时,一些SQL感觉比价难,不会写,但是开发也就是SQL),但是如何提高SQL执行的效率,这才是提高SQL的难       处所在,所以觉得有时间了解一下SQL执行的原理。

Oracle 学习SQL的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)

    原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天 ...

  3. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  4. Oracle学习-Power Designer、visio 2003、Oracle sql developer、OEM、expdp

    Oracle的体系太庞大了.对于刚開始学习的人来说,难免有些无从下手的感觉. 经过一学期的学习对Oracle学习有了一些深入的了解,由于之前学习过Oracle的一些主要的知识.所以学习起来上手比較快一 ...

  5. 浅析Oracle PL/SQL 学习--未完待续

    这是一篇关于Oracle Pl/SQL数据库编程的课程学习分享... 首先说明几点: 学习这门课程之前,已经学过并且掌握一些基础的SQL语句.数据库结构分析.ER图设计等知识: 这里也只是较为大概地将 ...

  6. oracle学习笔记(十五) PL/SQL语法结构以及使用

    PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言. PL/SQL 是对 SQL 的扩展. 支持多种数据类型,如大对象和 ...

  7. 学习《Oracle PL/SQL 实例讲解 原书第5版》----创建账户

    通过readme.pdf创建student账户. 以下用sys账户登录时都是sysdba. 一.PL/SQL 登录oracle. SYS/123  AS SYSDBA 账户名:sys:密码:123:作 ...

  8. 初级Oracle和SQL学习者的学习笔记。韩顺平-玩转oracle。

    我自己就是一个oracle和sql的初学者,前段时间看了韩顺平老师的oracle视频教程,觉得很深入浅出,收获了很多.同时自己也做了不少笔记,现在想将纸质笔记以自己的话总结出来.俗话说得好:教学总是相 ...

  9. Oracle经典SQL

    最近本人整理了一些Oracle sql,现分享给大家,后续还会更新.如果有错误的地方,请指正,共同学习.贴上去的sql都是我测试过的,大家可以粘贴在自己的电脑上试试. 1.查询部门的名称,及最低收入雇 ...

随机推荐

  1. influx+grafana自定义python采集数据和一些坑的总结

    先上网卡数据采集脚本,这个基本上是最大的坑,因为一些数据的类型不正确会导致no datapoint的错误,真是令人抓狂,注意其中几个key的值必须是int或者float类型,如果你不慎写成了strin ...

  2. NBUT 1224 Happiness Hotel 2010辽宁省赛

    Time limit 1000 ms Memory limit 131072 kB The life of Little A is good, and, he managed to get enoug ...

  3. 查看Linux下系统资源占用常用命令

    一 top命令 1.作用top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数d:指定更新的 ...

  4. RCNN、SPP-net、Fast-RCNN和Faster-RCNN

    RCNN RCNN (Regions with CNN features) 的核心思想是把图像划分成N(2000)个独立的区域,分别提取每个区域的CNN特征,然后把这些特征使用SVM等分类器进行结果预 ...

  5. 【opencv基础】图像翻转cv::flip详解

    前言 在opencv中cv::flip函数用于图像翻转和镜像变换. 具体调用形式 void cv::flip( cv::InputArray src, // 输入图像 cv::OutputArray ...

  6. Audition CS6在Win 7中“音频输入的采样频率与输出设备不匹配”问题的解决 - imsoft.cnblogs

    1.运行Audion CS6,出现问题框. 2.右击任务栏右下方的那个小喇叭图标,在弹出的提示框里,单击“播放设备”.如图: 3.单击“播放设备”后,在图内左键单击“扬声器”然后双击“扬声器”,出现下 ...

  7. linux学习——sed工具

    命令格式: sed [-nefr] [动作] 1.sed可以分析标准输入(STDIN)的数据,然后将数据处理后,再将他输出到标准输出(STDOUT),他有替换.删除.新增.选定特定行等处理功能.sed ...

  8. 八皇后 递归or迭代

    递归: #include <iostream> #include <cstdlib> #include <cstdio> using namespace std; ...

  9. 实验吧—隐写术——WP之 欢迎来到地狱

    解压压缩包后出现三个文件.jpg .zip .docx 发现图片打开不显示,用winhex打开发现缺少文件头,将jpg的文件头补上 保存后图片可以打开 是一个百度网盘的链接,注意l和1的区别,网盘里是 ...

  10. solr学习四(关于性能的杂知识)

    将所有只用于搜索的,而不需要作为结果的field(特别是一些比较大的field)的stored设置为false 比如我们在solr中index了一篇word,对于这篇word,我们只需要这篇文章的下载 ...