- 浏览: 9347 次
- 性别:
- 来自: 杭州
最新评论
上次新霸哥和大家讲解了一些关于oracle的知识发现大家对oracle还是比较感兴趣的,下面新霸哥就大家比较关系的oracle中常用的查询有哪几种?做个和oracle相关的开发的朋友可能会知道答案,但是刚接触过oracle的朋友可能还不知道是怎么回事。今天,新霸哥将在此给大家做一个详细的介绍。
多表连接查询
连接多表
1. 笛卡尔积
在没有任何过滤条件的情况下,左表的任意一行记录 与 右表的任意记录进行连接
2. 使用连接查询
下面新霸哥简单的介绍一下语法1:select columnList from table1, table2 where table1.column1 operator table2.column2(连接条件) and 过滤条件,在where子句中指定连接条件,连接n个表时,连接条件要有n-1个,几个表中的同名字段 引用时要加前缀给表起别名:from tablename n
这是语法2:select columnList from table1 join table2 on table1.column1 operator table2.column2 join table3 on ... where 过滤条件
非等值连接
连接两个或多个表时,在条件中不使用等号,而是用比如<,>,>=,<=,!=,between m and n,in等运算符
自然连接
根据两个表的同名列来执行连接操作只有当表中有同名列且数据类型也相同时才能在使用NATURAL JOIN。
看看新霸哥给的语法:select columnList from table1 natural join table2;
使用Using子句连接表
如果两个表有同名列,在连接语句里使用Using子句来指定连接的列
select columnList from table1 join table2 using (columnName)
交叉连接
使用关键字Cross包含多个表的连接,连接的结果为一个笛卡尔乘积
语法:select columnList from table1 cross join table2;
外连接
当两个表执行连接操作时,表中不满足连接条件的行是会被显示的
语法:select columnListfrom table1 [left|right|full] outer join table2 on ...
三种类型的外连接:
1. Left outer join 左外连接
返回第一个表的所有行 和 第二个表中满足连接条件的行
2. Right outer join 右外连接
返回第二个表的所有行 和 第一个表中满足连接条件的行
3. Full outer join 满外连接
返回两个表的所有行,分为两个部分:
1) 返回第一个表的所有行,即便第二表中没有匹配行
2) 返回第二个表的所有行,即便第一表中没有匹配行
4. 内连接 self join
用于连接在同一个表的数据。
子查询 Sub Query
在一条select语句内定义另外一条select语句。
注意点:
1. 子查询在主查询执行前执行
2. 主查询使用子查询的结果
3. 所有子查询必须用括号括起来
4. 为了增强可读性,子查询应置于比较条件的右方
5. 除非使用top-n分析,否则子查询中不使用order by
子查询的嵌套
包含一个或多个子查询的查询
单行子查询:子查询结果为一行
多行子查询:子查询结果为多行
Top-N查询
语法:select columnList from table where rownum <= n rownum只对当前select有效
新霸哥通过开发中遇到的一些问题总结了查询中一些常见问题:
1. 获取单表所有记录 select * from table;
2. 获取单表某字段不重复记录 select distinct column from table;
3. 查询结果字段取别名 select column otherName from table;
4. 查询过滤条件 select columnList from table where where_condition;
5. 查询结果排序 select columnList from table order by column [asc|desc];
6. 分组查询 select columnList from table group by column1, column2;
7. 过滤多行函数结果 select columnList from table group by column1, column2 having having_condition;
8. 多表查询,内连接,外连接(左外连接、右外连接、满外连接)
select columnList from table1 [left|right|full] join table2 on table1.column1 = table2.column2;
9. 子查询
10. 嵌套子查询
好了,今天的关于软件开发中oracle查询常用方法总结就写到这里了,更多的关于oracle方面的问题欢迎和新霸哥交流。
多表连接查询
连接多表
1. 笛卡尔积
在没有任何过滤条件的情况下,左表的任意一行记录 与 右表的任意记录进行连接
2. 使用连接查询
下面新霸哥简单的介绍一下语法1:select columnList from table1, table2 where table1.column1 operator table2.column2(连接条件) and 过滤条件,在where子句中指定连接条件,连接n个表时,连接条件要有n-1个,几个表中的同名字段 引用时要加前缀给表起别名:from tablename n
这是语法2:select columnList from table1 join table2 on table1.column1 operator table2.column2 join table3 on ... where 过滤条件
非等值连接
连接两个或多个表时,在条件中不使用等号,而是用比如<,>,>=,<=,!=,between m and n,in等运算符
自然连接
根据两个表的同名列来执行连接操作只有当表中有同名列且数据类型也相同时才能在使用NATURAL JOIN。
看看新霸哥给的语法:select columnList from table1 natural join table2;
使用Using子句连接表
如果两个表有同名列,在连接语句里使用Using子句来指定连接的列
select columnList from table1 join table2 using (columnName)
交叉连接
使用关键字Cross包含多个表的连接,连接的结果为一个笛卡尔乘积
语法:select columnList from table1 cross join table2;
外连接
当两个表执行连接操作时,表中不满足连接条件的行是会被显示的
语法:select columnListfrom table1 [left|right|full] outer join table2 on ...
三种类型的外连接:
1. Left outer join 左外连接
返回第一个表的所有行 和 第二个表中满足连接条件的行
2. Right outer join 右外连接
返回第二个表的所有行 和 第一个表中满足连接条件的行
3. Full outer join 满外连接
返回两个表的所有行,分为两个部分:
1) 返回第一个表的所有行,即便第二表中没有匹配行
2) 返回第二个表的所有行,即便第一表中没有匹配行
4. 内连接 self join
用于连接在同一个表的数据。
子查询 Sub Query
在一条select语句内定义另外一条select语句。
注意点:
1. 子查询在主查询执行前执行
2. 主查询使用子查询的结果
3. 所有子查询必须用括号括起来
4. 为了增强可读性,子查询应置于比较条件的右方
5. 除非使用top-n分析,否则子查询中不使用order by
子查询的嵌套
包含一个或多个子查询的查询
单行子查询:子查询结果为一行
多行子查询:子查询结果为多行
Top-N查询
语法:select columnList from table where rownum <= n rownum只对当前select有效
新霸哥通过开发中遇到的一些问题总结了查询中一些常见问题:
1. 获取单表所有记录 select * from table;
2. 获取单表某字段不重复记录 select distinct column from table;
3. 查询结果字段取别名 select column otherName from table;
4. 查询过滤条件 select columnList from table where where_condition;
5. 查询结果排序 select columnList from table order by column [asc|desc];
6. 分组查询 select columnList from table group by column1, column2;
7. 过滤多行函数结果 select columnList from table group by column1, column2 having having_condition;
8. 多表查询,内连接,外连接(左外连接、右外连接、满外连接)
select columnList from table1 [left|right|full] join table2 on table1.column1 = table2.column2;
9. 子查询
10. 嵌套子查询
好了,今天的关于软件开发中oracle查询常用方法总结就写到这里了,更多的关于oracle方面的问题欢迎和新霸哥交流。
发表评论
-
后端架构师的知识体系之一基础组件
2018-11-21 22:31 256作为一个程序员,长 ... -
2016年末程序员应该知道的基本架构思想
2016-11-14 07:38 374说到系统的架构,初学者可能没有意识到,对于已经从事多年的开 ... -
2016年末程序员突破自我的绝密方法分享
2016-11-07 07:43 337新霸哥一直致力于了软件开发行业,从事软件开发快五年了,时间 ... -
2016程序员自学能力的培养方法有哪些?
2016-10-25 21:28 330近期新霸哥发现有 ... -
2016杭州云栖大会新亮点在这里
2016-10-17 07:27 317云栖大会已经圆满落幕,新霸哥近期一直在关注大会的一些情况, ... -
2016年学哪个编程语言最有前途?
2016-10-10 07:22 517说起哪个编程语言 ... -
准备加入软件开发行业的朋友可以看看
2016-09-26 07:33 279最近新霸哥注意到有一些的朋友想加入到IT行业中,因为现在这 ... -
为什么现在UML很少用了
2016-09-19 07:37 330新霸哥发现UML在面 ... -
新霸哥带你轻松玩转Oracle数据库
2016-09-06 23:28 416接触过软件开发的 ... -
敏捷开发是一个什么样的开发模式
2016-08-29 07:39 263在信息技术高速发 ... -
这些云计算技术你了解过哪几种
2016-08-15 07:40 337新霸哥发现目前信息量高速增长的今天,IT行业正在面临着空间 ... -
Java与云计算有什么关系呢
2016-08-08 07:37 500在如今这个信息技术高速发展的今天,云计算已经不是一个陌生的 ... -
新霸哥带你进入java的世界
2016-08-01 07:46 303新霸哥从近期大家的留言中注意到了大家对基础知识比较重视,很 ... -
分布式数据库hbase详解
2016-07-25 07:47 355新霸哥注意到了在人类随着计算机技术的发展,数据的存储量发生 ... -
SQL和NOSQL有区别吗?
2016-07-18 07:44 417在大数据高速发展的今天,数据量在不断的增加,传统的数据库可 ... -
怎么充分利用大数据寻找商机?
2016-07-11 07:33 634在大数据时代,数据量日益增加,所以展现在我们面前的就有两个 ... -
mapreduce编程模型你知道多少?
2016-07-04 07:40 315上次新霸哥给大家介绍了一些hadoop的相关知识,发现大家 ... -
hadoop是什么?
2016-06-27 23:23 277在如今这个信息高 ... -
程序员入门有年龄限制吗?
2016-06-19 23:06 846年轻的我们很幸运 ... -
云计算的发展路径和落地形态分别有几种?
2016-06-12 22:26 665说到云计算可能很 ...
相关推荐
本篇文章将深入探讨一些常用的Oracle优化方法,旨在帮助数据库管理员和开发人员提升数据库性能,减少延迟,提高资源利用率。 一、索引优化 索引是加快数据检索的关键工具。正确地创建和管理索引能显著提升查询速度...
本文将围绕“Oracle常用总结”的主题,深入探讨Oracle的安装、配置、数据库开发操作以及常见问题的解决策略。 首先,Oracle的安装过程涉及到多个步骤,包括硬件需求评估、操作系统兼容性检查、选择合适的软件版本...
- **3.4 认识Oracle常用工具** - **企业管理器**:用于管理Oracle数据库的图形化工具。 - **iSQL*Plus和SQL*Plus**:用于执行SQL命令和脚本的命令行工具。 - **3.5 创建数据库和表空间** - **创建数据库**:使用...
本章深入探讨了子查询的应用以及Oracle中的一些特殊特性,如伪列和内置函数。这些知识对于编写高效、灵活的SQL查询非常重要。 ### 表空间、数据库对象 #### Oracle数据库对象 Oracle数据库对象是构成数据库的基本...
### Oracle ADF开发实战指南知识点解析 #### 一、Oracle ADF简介 - **Oracle Application ...以上是对《Oracle ADF开发实战指南》的部分内容的总结和解析,希望能帮助您更好地理解和掌握Oracle ADF的相关知识。
在IT行业中,数据库管理系统(DBMS)是软件开发不可或缺的一部分,而Oracle作为一款强大的企业级DBMS,常常被用于构建大型、复杂的应用系统。Delphi,由Embarcadero Technologies开发,是一款流行的Windows应用程序...
在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。该类提供了一系列方法,包括基础连接、...
Oracle数据库是关系数据库管理系统的领导者之一,本文总结了Oracle数据库的基础知识,涵盖了关系数据库操作语言、SQL查询语句、数据定义语言、数据操纵语言、数据控制语言、PL/SQL语言等方面。 一、关系数据库操作...
3.6 Oracle常用函数 3.6.1 字符类函数 3.6.2 数字类函数 3.6.3 日期类函数 3.6.4 转换类函数 3.6.5 聚集类函数 第4章 Oracle PL/SQL语言及编程 4.1 PL/SQL简介 4.1.1 PL/SQL的基本结构 4.1.2 ...
在安装过程中,需要选择Oracle主目录位置,也就是Oracle_Home,这是Oracle软件安装的位置。安装过程中可以只安装Oracle软件,之后再单独创建数据库;也可以在安装Oracle产品的同时创建数据库,这对于初学者来说更为...
描述中的"oracle常用操作总结"可能涵盖了数据库的日常管理,如用户管理(CREATE USER、GRANT、REVOKE),表空间管理(CREATE TABLESPACE、ALTER TABLESPACE),备份恢复(RMAN、EXPDP/IMPDP),性能监控(V$视图、...
- **基本概念与术语**:解释了 Oracle9iDS Forms 中常用的基本概念和专业术语,如 Form、Block、Item、Trigger 等。 - **表单设计与开发**:详细讲解了表单设计的原则、流程和技巧,并提供了一系列实用的设计模式。 ...
Oracle数据库PL/SQL Developer客户端是数据库管理员和开发人员常用的工具,它专为Oracle数据库系统设计,提供了便捷的界面来编写、测试和调试PL/SQL代码。这个工具的强大之处在于其全面的功能集,允许用户进行数据库...
它强调通过科学的方法和技术来解决软件开发过程中的各种问题。 - **目标**: - 减少错误率,提升软件质量。 - 优化资源分配,降低成本。 - 加快开发进度,缩短上市时间。 - 提高可维护性,方便后续升级。 - ...
### 超详细Oracle教程知识点总结 #### 一、引言 - **SUN与Oracle合并背景**:2009年,Oracle宣布以74亿美元收购SUN Microsystems,此举被视为Oracle迈向云计算的重要一步。 - **云计算核心价值**:随着云计算在企业...
### Oracle数据库整理学习手册知识点详解 ...通过上述总结,我们可以看出文档详细地介绍了Oracle数据库的基本概念、安装配置、SQL语言的基础用法以及一些高级查询技巧,非常适合初学者和有一定基础的学习者参考。
Oracle提供了多种类型的JDBC驱动,如 Thin、 Thick 和 JDBC-ODBC Bridge,其中 Thin 驱动是最常用的一种,因为它不需要Oracle客户端软件,只需Java环境即可。 3. **建立数据库连接** 使用`java.sql.DriverManager`...
Oracle数据库是甲骨文公司推出的一个关系数据库管理系统,广泛应用于商业和企业级的软件开发。在这个知识点中,我们将深入探讨Oracle数据库中的表操作,特别是刷数据库表的技巧和方法。 1. 创建唯一索引 在Oracle...