SQL学习笔记-join问题求解释.

 

连接(join)

假设有两个表,结构如下

 

<<test_store>>表

STORE_NAMESALES
Los Angeles1500
San Francisco300
Boston700

 

<<test_geo>>表

 

REGION_NAMESTORE_NAME
EastBoston
EastNew York
WestLos Angeles
WestSan Diego

而我们要知道每一区 (region_name) 的营业额 (sales)。 Geo这个表格告诉我们每一区有哪些店,而 Store 告诉我们每一个店的营业额。若我们要知道每一区的营业额,我们需要将这两个不同表格中的资料串联起来.

 

使用如下查询语句:

SELECT A1.store_name, SUM(A2.Sales) SALES
FROM test_geo A1, test_store A2
WHERE A1.store_name(+) = A2.store_name
GROUP BY A1.store_name

 

查询结果如下

STORE_NAMESALES
 300
Los Angeles1500
Boston700

我们想要把<<test_store>>表中部满足条件的数据也显示出来,就需要在where条件的另一侧加上(+)号..如上图所示.

条件是WHERE A1.store_name(+) = A2.store_name

<<test_store>>表中的San Francisco并不满足where条件.所以STORE_NAME没有显示,但是sales却显示了出来..

 

如果把条件改为:

WHERE A1.store_name = A2.store_name (+)

则结果为

STORE_NAMESALES
San Diego 
New York 
Los Angeles1500
Boston700

这和上课时候就一样了..

哪头有+号哪头的otherside的信息即使不满足条件也会显示.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值