一 使用外联接
以前在Oracle中用=(+)和(+)=来进行左外联接和右外联接;后来用SQL Server时用*=和=*进行外连接左外联接和右外联接;
现在决定用SQL-92的标准方法:[OUTER] JOIN,OUTER是可以省略的。
LEFT OUTER JOIN 或 LEFT JOIN 表示左外联接
RIGHT OUTER JOIN 或 RIGHT JOIN 表示左外联接
FULL OUTER JOIN 或 FULL JOIN 表示左外联接
外联接的意思不用多说,我们都懂,但是JOIN到底怎么用呢?没有找到很好的资料,只能从例子中学习了:
1、这个例子也许没有实际意义,只是为了说明问题:
CREATE TABLE orders(order_id int, firm_id int, p_id int)
CREATE TABLE firms (firm_id int, f_name int)
CREATE TABLE products(p_id int, p_name int)
select a.order_id, b.f_name, c.p_name
from orders a left join firms b on a.firm_id = b.firm_id
left join products c on a.p_id = c.p_id
select a.module_id, a.name, b.module_name
from fb_autocoding a left join fb_app_module b
on a.module_id = b.module_id
and b.module_internal_label <> 'LO';
select a.module_id, a.name, b.module_name
from fb_autocoding a left join fb_app_module b
on a.module_id = b.module_id
where b.module_internal_label <> 'LO';