内连接和外连接

转载 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的员工记录和没有任何员工的部门记录。


相关文章推荐

LINQ多条件右外连接

  • 2014-05-04 15:51
  • 13KB
  • 下载

Hibernate高级查询方法(内含hibernate迫切左外连接检索策略)

投影查询——过滤部分字段 返回的List集合元素为Object[] Query query = session.createQuery("select c.cname, c.csex from C...

Oracle数据库左外连接

  • 2013-08-21 17:31
  • 353B
  • 下载

MySQL外连接

内连接查询,返回的结果,只包含符合查询条件和连接条件的数据 有时,需要包含没有关联的数据,返回的查询结果,不仅包含符合条件的数据,而且,包括左表和右表中的所有数据,此时,需要使用外连接外连接,包括左...

SQL 内连接,外连接

  • 2009-11-05 17:25
  • 269KB
  • 下载

用外连接来组合表

LEFT JOIN,RIGHT JOIN,FULL JOIN

查询语句顺序及外连接

  • 2012-06-08 10:48
  • 120KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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