内连接和外连接

转载 2015年07月06日 17:10:12

转自:http://www.cnblogs.com/jhtchina/articles/956751.html

相关连接推荐:http://blog.163.com/yde1208@126/blog/static/95872709201122342826597/

一般的相等连接: 

select * from a, b where a.id = b.id; 
这个就属于内连接。 
  
对于外连接: 
Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN  
  
LEFT OUTER JOIN:左外关联  
SELECT e.last_name, e.department_id, d.department_name  
FROM employees e  
LEFT OUTER JOIN departments d  
ON (e.department_id = d.department_id);  
等价于  
SELECT e.last_name, e.department_id, d.department_name  
FROM employees e, departments d  
WHERE e.department_id=d.department_id(+)  
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。  
  
RIGHT OUTER JOIN:右外关联  
SELECT e.last_name, e.department_id, d.department_name  
FROM employees e  
RIGHT OUTER JOIN departments d  
ON (e.department_id = d.department_id);  
等价于  
SELECT e.last_name, e.department_id, d.department_name  
FROM employees e, departments d  
WHERE e.department_id(+)=d.department_id  
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。  
  
FULL OUTER JOIN:全外关联  
SELECT e.last_name, e.department_id, d.department_name  
FROM employees e  
FULL OUTER JOIN departments d  
ON (e.department_id = d.department_id);  
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。


SQL各种连接(左连接、右连接、内连接、自连接、全连接)

左连接、右连接、内连接、自连接、全连接 一、 左外连接也叫左连接(left outer join也可以简写为left join) 显示左表的所有数据,然后根据条件与右表进行匹配,...
  • Whalefrat
  • Whalefrat
  • 2017年11月16日 19:05
  • 48

内连接,外连接,自连接

早就听说了内连接与外连接,以前视图中使用过、这次自考也学习了,只是简单理解,现在深入探究学习(由于上篇博客的出现)与实践: 概念 关键字: 左右连接 数据表的连接有: 1、内连接(自然连接): 只有...
  • q5545q
  • q5545q
  • 2014年11月19日 15:58
  • 224

内连接&左连接&右连接&全连接&交叉连接&自连接

实际在数据库里面演示一下把 在mysql的practice数据库中建几个表来学习一下 use practice; create table MyTable1( ID varchar...
  • nanaMasuda
  • nanaMasuda
  • 2016年09月13日 10:37
  • 241

数据库 内连接 外连接 交叉连接 自连接

连接分为:内连接、外连接、交叉连接  一、内连接——最常用  定义:仅将两个表中满足连接条件的行组合起来作为结果集。  在内连接中,只有在两个表中匹配的行才能在结果集中出现  关键词:INNE...
  • a502817870
  • a502817870
  • 2014年10月17日 09:16
  • 269

sql ,内连接,外连接,自然连接等各种连接

1、内联接(典型的联接运算,使用像 = 或 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。 2、外联接...
  • u010509774
  • u010509774
  • 2016年01月18日 09:42
  • 2013

SQL连接(内连接、外连接、交叉连接)

SQL连接(内连接、外连接、交叉连接) 假设现在有两个表:table1 , table2    table1:                                table2:   ...
  • liu891208
  • liu891208
  • 2015年10月02日 10:29
  • 158

内连接,外连接,左连接,右连接,全连接,内连接,交叉连接,自连接

(一) 内连接 内连接,inner join,join 查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的  列值。内连接分三种: 1.等值连接 2.不等值连接 ...
  • a468903507
  • a468903507
  • 2015年04月08日 13:43
  • 241

Oracle的外连接内连接和自连接

Oracle的外连接内连接和自连接 多表查询 等价连接: 两个表间的连接条件是通过 "=" 建立     别名: 一旦给表创建了别名,标识列时智能通过表的别名,而不能是表的真名...
  • Evan_QB
  • Evan_QB
  • 2017年07月16日 17:48
  • 600

全连接,内连接,左连接,右连接

1、内联接(典型的联接运算,使用像 =  或 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。        ...
  • ganjing222
  • ganjing222
  • 2016年03月10日 14:32
  • 144

左连接、右连接、外连接、内连接、自连接的理解

今天做项目遇到一个需求就是通过一个登陆字段查询该用具有的权限,然后根据权限显示对应的页面。 sql语句:   select * from elec_role_popedom a left out...
  • zl544434558
  • zl544434558
  • 2013年11月01日 14:48
  • 7745
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:内连接和外连接
举报原因:
原因补充:

(最多只允许输入30个字)