在对数据库操作中,什么时候用右外联接查询?什么情况用左外联接?

2024-11-19 17:51:32
推荐回答(2个)
回答1:

需要右表中全部内容,左表允许为空时用右外连接

需要左表中全部内容,右表允许为空时用左外连接

例如
emp表有如下字段
ename /did
Rafferty /31
Jones /33
Steinberg /33
Robinson /34
Smith /34
Jasper /NULL

Dept 表有如下字段
did /dName
31 /Sales
33 /Engineering
34 /Clerical
35 /Marketing

如果要查询的内容包括dept表中为空的情况,则用emp表左外连接dept表:
SELECT * FROM emp LEFT OUTER JOIN dept
ON emp.did = dept.did

emp.ename /emp.did /dept.dname /dept.did
Jones /33 /Engineering /33
Rafferty /31 /Sales /31
Robinson /34 /Clerical /34
Smith /34 /Clerical /34
Jasper /NULL /NULL /NULL
Steinberg /33 /Engineering /33

如果要查询的内容包括emp表中为空的情况,则用emp表右外连接dept表:

SELECT * FROM emp RIGHT OUTER JOIN dept
ON emp.did = dept.did

emp.ename /emp.did /dept.dname /dept.did
Smith /34 /Clerical /34
Jones /33 /Engineering /33
Robinson /34 /Clerical /34
Steinberg /33 /Engineering /33
Rafferty /31 /Sales /31
NULL /NULL /Marketing /35

回答2:

1