最近在学习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);