oracle 连接 中的 ON 和WHERE

前提准备


CREATE TABLE A_TEST
(
A_ID VARCHAR2(100) NOT NULL,
A_C1 VARCHAR2(100)
)

数据:
1 A1
2 A2
3 A3

CREATE TABLE B_TEST
(
B_ID VARCHAR2(100) NOT NULL,
B_C1 VARCHAR2(100),
B_C2 VARCHAR2(100)
)
数据:

1 BC1_1 B_C2_1
2 BC1_2 B_C2_2
3 BC1_3 B_C2_3




LEFT JOIN ON


SELECT A.A_C1
,B.B_C1
,B.B_C2
FROM A_TEST A
LEFT JOIN B_TEST B ON A.A_ID=B.B_ID

检索结果:
A1 BC1_1 B_C2_1
A2 BC1_2 B_C2_2
A3 BC1_3 B_C2_3




LEFT JOIN ON 附件条件


SELECT A.A_C1
,B.B_C1
,B.B_C2
FROM A_TEST A
LEFT JOIN B_TEST B ON A.A_ID=B.B_ID
[color=red][b]AND A.A_ID = '1'[/b][/color]

检索结果:
A1 BC1_1 B_C2_1
A2 (NULL) (NULL)
A3 (NULL) (NULL)



LEFT JOIN ON WHERE


SELECT A.A_C1
,B.B_C1
,B.B_C2
FROM A_TEST A
LEFT JOIN B_TEST B ON A.A_ID=B.B_ID
WHERE A.A_ID='1'

检索结果:A1 BC1_1 B_C2_1


※: 其实WHERE 就是和我们没有联合条件是一样过滤 带WHERE的联合就是把联合后的结果在从新过滤一遍而已!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值