求多表查询sql语句

来源:百度知道 编辑:UC知道 时间:2024/05/18 10:42:00
多表查询
A 表 (表示各个单位)
unitid unitname
1 unit1
2 unit2
3 unit3

B 表 (表示人员在各个单位是否任职)
id name unitid
1 name1 1
2 name1 2
3 name2 1
4 name2 3

如果给参数name=name1则查询出下表(即查询name1在那个单位没有任职)
unitid unitname
3 unit3

如果给参数name=name2则查询出下表(即查询name2在那个单位没有任职)
unitid unitname
2 unit2

求该查询sql语句

select distinct A.unitid, A.unitname
from A,B
where A.unitid not in
(select B.unitid from B where B.name= name(参数))

name(参数)为你传的参数的.

以上SQL,我已在ORACLE里建表,确认过了.

SELECT ID,UNITNAME FROM A,B
WHERE A。UNITID=B。UNITID AND B。NAME=(参数)

select a.unitid, a.unitname
from a, b
where b.name=名字 and b.unitid=a.unitid