最近在学习Mastering Orcle SQL 一书,作为一名软件开发人员,SQL是基础中的基础,但是有些人学了一些以后呢,觉得自已会用了,能做一些常用的开发了,就突视了。
下面是我学习Mastering Orcale SQL 的一些学习笔记,第一次写技术博客,写得毛躁,中间有一些文字是直接从书上翻译过来的,翻译得变扭,请大家见谅。
希望此学习笔记会给大家一点点帮助!如果看了之后有什么不懂的可以去看
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);