table1与table2的等值连接如下:Select A.id,A.name,A.housenumber ,B.housenumber,B.housename from table1 A ,table2 B where A.housenumber = B.housenumber A.housenumber 与 B.housenumber分别是外键和主键,如果A.housenumber有允许有空 值,当你想选择TABLE1的所有列,等值连接使得数据丢失。 比如:
设备表A中多条设备记录,连接到B表的供应商记录,我们想将拥有所有的设备列出,就应该选择 A左外连接B,它显示A中的所有行,并连接到B中的供应商信息。 A表左外连接B表的SQL语句:
select A.id,A.name,B.supply from table1 A left outer join table2 B on A.supply_id = B.supply_id
A表左外连接B,C,D,E等多表并且由选择条件输出的SQL语句:
select A.machine_id,A.pro_num,A.machine_name ,A.machine_type,B.brand_name,A.unitprice,A.sn,A.service_num,C.supply_name,D.room_name,A.install_place,A.install_man,E.state_name,A.buydate,F.project_name ,A.memo from machine A left outer join brand B on (A.brand_id = B.brand_id)
left outer join supply C on (A.supply_id = C.supply_id)
left outer join room D on (A.room_id = D.room_id)
left outer join state E on (A.state = E.state_id)
left outer join project F on (A.project_id = F.project_id)
where (A.machine_id = 7)
http://www900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0201purcell/0201purcell.shtml
专门讲外连接的