数据外连接 LEFT OUT JOIN 的用法

来源:互联网 发布:超人电力技改软件 编辑:程序博客网 时间:2024/06/13 04:00

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/0112purcell/0112purcell.shtml#leftoj

http://www900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0201purcell/0201purcell.shtml 

专门讲外连接的