`
luhantu
  • 浏览: 204050 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 数据库表连接

阅读更多

准备工作:

创建表table_1并插入数据

CREATE TABLE table_1

(

id INT IDENTITY(1,1) PRIMARY KEY,

name VARCHAR(50),

classid INT

)
GO

INSERT INTO table_1(name,classid) SELECT'苹果',1
UNION ALL SELECT'香蕉',1
UNION ALL SELECT'草莓',1
UNION ALL SELECT'西瓜',1
UNION ALL SELECT'樱桃',1
UNION ALL SELECT'荔枝',1
UNION ALL SELECT'芒果',1
UNION ALL SELECT'木瓜',1 ----table_2没有此项
UNION ALL SELECT'香梨',1 ----table_2没有此项
GO

 创建表table_2并插入数据

CREATE TABLE table_2
(

id INT IDENTITY(1,1) PRIMARY KEY,

name VARCHAR(50),

classid INT

)
GO

INSERT INTO table_2(name,classid) SELECT'苹果',2
UNION ALL SELECT'香蕉',2
UNION ALL SELECT'草莓',2
UNION ALL SELECT'西瓜',2
UNION ALL SELECT'樱桃',2
UNION ALL SELECT'荔枝',2
UNION ALL SELECT'芒果',2
UNION ALL SELECT'龙眼',2 --table_1没有此项
UNION ALL SELECT'芭乐',2 --table_1没有此项
UNION ALL SELECT'榴莲',2 --table_1没有此项

GO

  表之间的连接关系也就是集合之间的关系,如图:

 

内连接

 其实就是两表之间的公共部分。

SELECT a.*,b.*FROM table_1 a JOIN table_2 b ON a.[name]=b.[name]

 结果:

1	苹果	1	1	苹果	2
2	香蕉	1	2	香蕉	2
3	草莓	1	3	草莓	2
4	西瓜	1	4	西瓜	2
5	樱桃	1	5	樱桃	2
6	荔枝	1	6	荔枝	2
7	芒果	1	7	芒果	2

 左连接

其实就是A表记录集A1和A、B表的公共部分C.

 

SELECT a.*,b.*FROM table_1 a left JOIN table_2 b ON a.[name]=b.[name]

  结果:

1	苹果	1	1	苹果	2
2	香蕉	1	2	香蕉	2
3	草莓	1	3	草莓	2
4	西瓜	1	4	西瓜	2
5	樱桃	1	5	樱桃	2
6	荔枝	1	6	荔枝	2
7	芒果	1	7	芒果	2
8	木瓜	1	NULL	NULL	NULL
9	香梨	1	NULL	NULL	NULL

 右连接

其实就是B表的记录集B1和A、B表公共部分C

SELECT a.*,b.*FROM table_1 a right JOIN table_2 b ON a.[name]=b.[name]

 结果:

1	苹果	1	1	苹果	2
2	香蕉	1	2	香蕉	2
3	草莓	1	3	草莓	2
4	西瓜	1	4	西瓜	2
5	樱桃	1	5	樱桃	2
6	荔枝	1	6	荔枝	2
7	芒果	1	7	芒果	2
NULL	NULL	NULL	8	龙眼	2
NULL	NULL	NULL	9	芭乐	2
NULL	NULL	NULL	10	榴莲	2

 全连接

其实就是A1+C+B1全部

SELECT a.*,b.*FROM table_1 a full JOIN table_2 b ON a.[name]=b.[name]

 结果:

1	苹果	1	1	苹果	2
2	香蕉	1	2	香蕉	2
3	草莓	1	3	草莓	2
4	西瓜	1	4	西瓜	2
5	樱桃	1	5	樱桃	2
6	荔枝	1	6	荔枝	2
7	芒果	1	7	芒果	2
8	木瓜	1	NULL	NULL	NULL
9	香梨	1	NULL	NULL	NULL
NULL	NULL	NULL	8	龙眼	2
NULL	NULL	NULL	9	芭乐	2
NULL	NULL	NULL	10	榴莲	2

  交叉连接

其实就是两张表的卡迪尔积。

SELECT a.*,b.*FROM table_1 a CROSS JOIN table_2 b

 结果:

1	苹果	1	1	苹果	2
1	苹果	1	2	香蕉	2
1	苹果	1	3	草莓	2
1	苹果	1	4	西瓜	2
1	苹果	1	5	樱桃	2
1	苹果	1	6	荔枝	2
1	苹果	1	7	芒果	2
1	苹果	1	8	龙眼	2
1	苹果	1	9	芭乐	2
1	苹果	1	10	榴莲	2
2	香蕉	1	1	苹果	2
2	香蕉	1	2	香蕉	2
2	香蕉	1	3	草莓	2
2	香蕉	1	4	西瓜	2
2	香蕉	1	5	樱桃	2
2	香蕉	1	6	荔枝	2
2	香蕉	1	7	芒果	2
2	香蕉	1	8	龙眼	2
2	香蕉	1	9	芭乐	2
2	香蕉	1	10	榴莲	2
3	草莓	1	1	苹果	2
3	草莓	1	2	香蕉	2
3	草莓	1	3	草莓	2
3	草莓	1	4	西瓜	2
3	草莓	1	5	樱桃	2
3	草莓	1	6	荔枝	2
3	草莓	1	7	芒果	2
3	草莓	1	8	龙眼	2
3	草莓	1	9	芭乐	2
3	草莓	1	10	榴莲	2
4	西瓜	1	1	苹果	2
4	西瓜	1	2	香蕉	2
4	西瓜	1	3	草莓	2
4	西瓜	1	4	西瓜	2
4	西瓜	1	5	樱桃	2
4	西瓜	1	6	荔枝	2
4	西瓜	1	7	芒果	2
4	西瓜	1	8	龙眼	2
4	西瓜	1	9	芭乐	2
4	西瓜	1	10	榴莲	2
5	樱桃	1	1	苹果	2
5	樱桃	1	2	香蕉	2
5	樱桃	1	3	草莓	2
5	樱桃	1	4	西瓜	2
5	樱桃	1	5	樱桃	2
5	樱桃	1	6	荔枝	2
5	樱桃	1	7	芒果	2
5	樱桃	1	8	龙眼	2
5	樱桃	1	9	芭乐	2
5	樱桃	1	10	榴莲	2
6	荔枝	1	1	苹果	2
6	荔枝	1	2	香蕉	2
6	荔枝	1	3	草莓	2
6	荔枝	1	4	西瓜	2
6	荔枝	1	5	樱桃	2
6	荔枝	1	6	荔枝	2
6	荔枝	1	7	芒果	2
6	荔枝	1	8	龙眼	2
6	荔枝	1	9	芭乐	2
6	荔枝	1	10	榴莲	2
7	芒果	1	1	苹果	2
7	芒果	1	2	香蕉	2
7	芒果	1	3	草莓	2
7	芒果	1	4	西瓜	2
7	芒果	1	5	樱桃	2
7	芒果	1	6	荔枝	2
7	芒果	1	7	芒果	2
7	芒果	1	8	龙眼	2
7	芒果	1	9	芭乐	2
7	芒果	1	10	榴莲	2
8	木瓜	1	1	苹果	2
8	木瓜	1	2	香蕉	2
8	木瓜	1	3	草莓	2
8	木瓜	1	4	西瓜	2
8	木瓜	1	5	樱桃	2
8	木瓜	1	6	荔枝	2
8	木瓜	1	7	芒果	2
8	木瓜	1	8	龙眼	2
8	木瓜	1	9	芭乐	2
8	木瓜	1	10	榴莲	2
9	香梨	1	1	苹果	2
9	香梨	1	2	香蕉	2
9	香梨	1	3	草莓	2
9	香梨	1	4	西瓜	2
9	香梨	1	5	樱桃	2
9	香梨	1	6	荔枝	2
9	香梨	1	7	芒果	2
9	香梨	1	8	龙眼	2
9	香梨	1	9	芭乐	2
9	香梨	1	10	榴莲	2

 

分享到:
评论

相关推荐

    sap 与 oracle数据库的连接

    最后,需要检查目录是否存在,使用Al11命令实现,并建立DBCO连接,检查数据库连接状态,使用DB02命令实现。 在SAP开发中,连接Oracle数据库需要遵循一定的步骤和顺序,包括建立目录、解压缩文件、建立虚连接、修改...

    Oracle-新建Oracle数据库并连接(图文,详细).docx

    新建Oracle数据库并连接详细教程 在这篇教程中,我们将学习如何新建Oracle数据库并连接到该数据库。该教程分为两部分:新建Oracle数据库和连接到数据库。 新建Oracle数据库 新建Oracle数据库需要使用Database ...

    geoserver2.14.0 oracle 数据库连接

    通过以上步骤,你可以成功地在GeoServer 2.14中配置Oracle数据库连接,并展示其中的Shapefile数据。这种集成不仅允许你利用Oracle的强大功能处理大规模的空间数据,还能够通过GeoServer提供丰富的地图服务,用于Web...

    易语言连接Oracle数据库

    数据库连接组件用于建立与Oracle数据库的物理连接,而记录集组件则负责在程序中操作数据,如查询、插入、更新和删除记录。 1. 数据库连接组件: - 在易语言中,设置数据库连接通常涉及以下参数: - 数据源(DSN)...

    oracle数据库连接工具

    "Oracle数据库连接工具"指的是可以方便地连接到Oracle数据库并执行各种操作的软件应用。在给定的标签中提到了"oracle navicat",这指的是Navicat,一个知名的数据库管理工具,特别适合于Oracle数据库的连接和管理。 ...

    如何连接oracle数据库及故障解决办法

    连接 Oracle 数据库是每个开发者和数据库管理员都需要掌握的基本技能,但是很多人在连接 Oracle 数据库时都会遇到各种问题,本文将详细介绍如何连接 Oracle 数据库及故障解决办法。 首先,在连接 Oracle 数据库之前...

    Oracle数据库表结构导出工具

    在日常管理和开发过程中,有时我们需要将Oracle数据库的表结构导出为其他格式,便于分析、备份或共享。"Oracle数据库表结构导出工具"就是为此目的设计的实用程序,它能够方便地将表结构转换成易于查看和处理的Excel...

    SQL SERVER连接oracle数据库几种方法

    在上面的代码中,我们使用 OPENDATASOURCE 连接到 Oracle 数据库,然后选择 DAIMIN.JOBS 表中的所有数据。 方法 2:使用链接服务器 在 SQL Server 中,我们可以创建一个链接服务器,以便连接到 Oracle 数据库。...

    Oracle数据库表结构导出工具Excel

    总结来说,"Oracle数据库表结构导出工具Excel"通过DBExport软件实现,能够有效地帮助数据库管理员和开发人员快速获取和分享Oracle数据库的表结构信息。通过阅读DBExport的使用手册,用户可以学会如何利用这个工具...

    修改数据库最大连接数以及linux系统下ORACLE数据库启动多实例参照.pdf

    数据库最大连接数修改与 Oracle 多实例启动在 Linux 系统下 一、修改 Oracle 数据库允许的最大连接数 Oracle 数据库的最大连接数可以通过修改参数文件或使用 alter system 语句来实现。下面是修改最大连接数的步骤...

    pdm连接oracle数据库

    #### 一、PDM简介与Oracle数据库连接的重要性 产品数据管理(Product Data Management, PDM)系统是企业信息化的重要组成部分,用于管理与产品相关的所有数据,包括设计文档、图纸、BOM表等。在PDM系统中实现与Oracle...

    易语言oracle数据库连接模块源码

    在易语言中,开发Oracle数据库连接模块是为了实现对Oracle数据库的高效、便捷操作。Oracle数据库是全球广泛使用的大型关系型数据库管理系统,适用于处理大量数据和并发事务。 Oracle数据库连接模块的核心在于如何...

    oracle数据库crt连接工具

    为了更加便捷地管理和操作Oracle数据库,DBA(Database Administrator,数据库管理员)通常会使用一系列的专业工具,其中"Oracle数据库crt连接工具"很可能指的是SecureCRT,一个强大的终端仿真程序,常用于远程连接...

    力控与Oracle数据库的连接.pdf

    力控与Oracle数据库的连接是工业自动化领域常见的数据交互方式,力控实时数据库提供了一个高效、稳定且开放的平台,能够与多种数据库系统进行数据交换,包括Oracle和Access。本文将重点介绍如何配置力控与Oracle...

    Oracle数据库表转换为Mysql

    首先,需要使用Oracle数据库连接工具连接到Oracle数据库,获取表结构。可以使用PLSQL 12来连接Oracle数据库。然后,使用PowerDesigner工具将Oracle数据库中的表结构导出为sql文件。 二、PowerDesigner工具简介 ...

    Oracle数据库表生成C#实体类

    "Oracle数据库表生成C#实体类"是一个实用的小工具,它的主要目的是自动化这个过程,避免开发者手动编写繁琐的实体类代码。虽然这个工具可能存在一些小问题,但它可以大大提高开发效率,尤其是在处理大量表结构时。 ...

    oracle数据库连接测试软件

    DataBaseHelper帮助类中包含了默认的连接字符串格式,修改完IP和用户名密码就可以使用,也可以在连接的时候直接输入连接字符串和sql语句。可以直接使用release下的exe 建议使用升级过的版本:...

    linux远程连接oracle数据库

    ### Linux远程连接Oracle数据库知识点详解 #### 一、测试项目 - **通过Java程序远程连接Oracle 10g数据库** - Java作为一种广泛使用的编程语言,可以用来开发各种应用程序,包括与数据库交互的应用。要实现Java...

    VS2008连接oracle数据库代码

    在读取数据时,可以使用`Read()`方法逐行处理结果,而`Close()`方法则用于关闭数据读取器和数据库连接。 除了OracleConnection,还有其他几个重要的类在Oracle数据访问中扮演关键角色: 1. OracleCommand:用于执行...

Global site tag (gtag.js) - Google Analytics