Oracle实现多表左连接(oracle左连接多个表)
随着Oracle数据库的发展,多表之间的连接更加容易,Oracle实现多表左连接也变得很容易。多表左连接就是把多个表连接起来,并只保留左侧表(如表A)窗口中的所有行,而右表(如表B)窗口中具有相匹配的行,如果没有则为null。
下面就用一个简单的实例来说明Oracle实现多表左连接。假设有两张表:表A和表B,表A有两个字段:id,name,表B有三个字段:id,age,address,表A和表B使用id作为连接字段,他们的内容如下:
|表 A | |表 B |
|—–|—-|——-|
|id | name|id |
|1 |John |1 |
|2 |Bob |2 |
|3 |Aime |3 |
| | |4 |
| | |Address|
现在以表A为主表,做一次多表左连接的SQL语句如下:
SELECT a.id,a.name,b.age,b.address
FROM a
LEFT JOIN b
ON a.id=b.id;
多表左连接的结果如下:
|id | name | age | address |
|—-|——-|—–|————-|
|1 |John |20 |NewYork |
|2 |Bob |21 |Washington |
|3 |Aime |22 |California |
|4 | |null | |
从结果可以看出,表A窗口中的所有行都出现在结果集中,右侧表B中没有与之匹配的行对应项显示为null,最后一项就没有在表B中找到,只显示null。
Oracle实现多表左连接,通过使用LEFT JOIN语句轻松完成,从上面的实例中可以清楚的看到,多表左连接的结果集总是会保留左表中的结果,并且为右表中没有匹配的行显示为null,从而能够完成两个表之间的相关信息的检索。