准备工作:
创建表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
相关推荐
Oracle数据库表连接笔记
本文将主要从以下几个典型的例子来分析Oracle表的几种不同连接方式。
查看oracle数据库的连接数以及用户 1、查询oracle的连接数 2、查询oracle的并发连接数 3、查看不同用户的连接数 4、查看所有用户: 5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限): 6、...
Oracle-新建Oracle数据库并连接(图文,详细).docx
JAVA 使用数据库连接池连接Oracle数据库,全代码,附加详细说明
Eclipse是如何连接Oracle数据库的
EJB连接Oracle数据库 EJB连接Oracle数据库 EJB连接Oracle数据库 EJB连接Oracle数据库
如何连接oracle数据库及故障解决办法 如何连接oracle数据库及故障解决办法 如何连接oracle数据库及故障解决办法
oracle数据库连接工具oracle数据库连接工具oracle数据库连接工具
C#连接Oracle数据库字符串 C#连接Oracle数据库字符串
geoserver 2.14 连接oracle数据库,在geoserver中打开oracle中的shp文件
SQL SERVER连接oracle数据库几种方法 查询oracle数据库中的表 在master数据库中查看已经存在的链接服务器 要在企业管理器内指定登录帐号
Oracle数据库表结构导出成Word文档工具(带源码下载) 修改了一下数据库的连接方式:由于我安装的是win764位+office64+oracle client 32位,用MSDAORA.1无法连接,所以将MSDAORA.1换为OraOleDb.Oracle.1,换后正常连接...
sap开发中 模块连接oracle数据库的具体方法步骤详细说明
DataBaseHelper帮助类中包含了默认的连接字符串格式,修改完IP和用户名密码就可以使用,也可以在连接的时候直接输入连接字符串和sql语句。可以直接使用release下的exe 建议使用升级过的版本:...
从vc连接到oracle数据库从vc连接到ora从vc连接到oracle数据库cle数据库
修改数据库最大连接数以及linux系统下ORACLE数据库启动多实例参照.pdf
数据库开发 Oracle数据库 SQL开发教程 第05章 多表连接(共48页).pdf 数据库开发 Oracle数据库 SQL开发教程 第06章 分组函数(共41页).pdf 数据库开发 Oracle数据库 SQL开发教程 第07章 子查询(共49页).pdf ...
搜集整理的Oracle数据库安装与配置方法以及C#连接操作Oracle数据库的典型代码,比较管用的说。主要包括10个方面内容:1、ORACLE817安装(服务器端/客户端)。2、ORACLE817配置(服务器端)。3、ORACLE817配置...
用于连接VisualStudio2008和Oracle数据库的代码脚本 OracleConnection类; 实现从数据库读出。