最近在学习Mastering Orcle SQL 一书,作为一名软件开发人员,SQL是基础中的基础,但是有些人学了一些以后呢,觉得自已会用了,能做一些常用的开发了,就突视了。

    下面是我学习Mastering Orcale SQL 的一些学习笔记,第一次写技术博客,写得毛躁,中间有一些文字是直接从书上翻译过来的,翻译得变扭,请大家见谅。
     希望此学习笔记会给大家一点点帮助!如果看了之后有什么不懂的可以去看 
Alan Beaulieu, Sanjay Mishra  的 Mastering Oracle SQL 2nd Editon原书 ,此书在[url]http://www.oreilly.com/catalog/0596006322[/url] 有介绍!

 joins 句法     

.1 什么是Join 查询
      Join查询从两个或两个以上的表或视图中取出信息。Join查询不同于其常规的查询句法是它至少有以下两点条件:
l         Join查询句法中,”FROM” 关键字后面要引用两个或两个以上的表或视图。
l         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 从句要有以下两个条件:
l         两个表的关联列是以“相等情况”来连接。
l         两个表的关联列的列名是相同的。
举例:使用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);