Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4008142
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

分类: Oracle

2011-04-28 22:00:50

1.1 什么是Join 查询
Join查询从两个或两个以上的表或视图中取出信息。Join查询不同于其常规的查询句法是它至少有以下两点条件:
在Join查询句法中,”FROM” 关键字后面要引用两个或两个以上的表或视图。
在Join查询中,把一个表的行与另一个表的行关联了起来。

下面是简单的Join句法例子:
 
SELECT department.location_id, department.name, location.regional_group
FROM department JOIN location
ON department.location_id = location.location_id;
 
表名太长写起来不方便,当然可以用表别名来代替表名:
 
SELECT d.dept_id, d.name, l.regional_group
FROM department d JOIN location l
ON d.location_id = l.location_id;
 
2.2 使用using 从句
使用using 从句是为了简化join查询语句的写法,用using 从句要有以下两个条件:
两个表的关联列是以“相等情况”来连接。
两个表的关联列的列名是相同的。
举例:使用using 从句前:
 
SELECT department.location_id, department.name, location.regional_group
FROM department JOIN location
ON department.location_id = location.location_id;
 
使用这后:
 
SELECT location_id, department.name, location.regional_group
FROM department JOIN location
USING (location_id);
 
多列关联的情况:
 
SELECT  . . .
FROM A JOIN B
ON A.c1 = B.c1 AND A.c2 = B.c2;

可写成:
 
SELECT  . . .
FROM A JOIN B
USING (c1, c2);
 
阅读(987) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~