语句片断:
SELECT emp_name, dept_name FORM Employee, Department WHERE Employee.emp_deptid(+) = Department.deptid
此SQL使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。
相反的情况:
SELECT emp_name, dept_name
FORM Employee, Department
WHERE Employee.emp_deptid = Department.deptid(+)则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都将被显示。
原文:http://www.enet.com.cn/article/2008/0118/A20080118119326.shtml
补充:
连接是指将关系数据库中的两个表根据内容一定的条件连接成一个表.
内连接是最常用的链接,也叫等值链接,最常见的格式是:
SELECT a.*,b.* FROM TA as a ,TB as b
WHERE a.id=b.id
或者用inner join:
SELECT a.*,b.* FROM TA as a inner join TB as b
ON a.id = b.id
外连接则分为"左外连接(左连接)","右外连接(右连接)"两种情况:
left join / right join
常见格式是:
SELECT A.IDA,A.VA,B.IDB,B.VB FROM TA A LEFT JOIN TB B
ON B.IDB=A.IDA
左连接:以左表为基础来连接,如果左表的某行内容无法在右表中找到相对的row,则将右表统统用null来表示.
右连接:与左连接相反.