数据库SQL左连接解惑!(第一版)

数据库SQL左连接解惑!(第一版)

工具:Oracle 11gR2 ,cmd
时间:2019/7/2

今天遇到如下两张表,由于对left join理解不深,对其结果集产生了如下疑惑!
表T1:

T1_idstr
1A
1B
2C
2D
3E
3F
4G
4H

表T2:

T2_idstr
1a
1b
2c
2d
3e
3f
5g
5h

附:sql语句如下:

--建表语句
create table T1(t1_id int,str varchar(10));
create table T2(t2_id int,str varchar(10));
--测试数据
insert      into T1   values     (1,'A');
insert      into T1   values     (1,'B');
insert      into T1   values     (2,'C');
insert      into T1   values     (2,'D');
insert      into T1   values     (3,'E');
insert      into T1   values     (3,'F');
insert      into T1   values     (4,'G');
insert      into T1   values     (4,'H');
insert      into T2   values     (1,'a');
insert      into T2   values     (1,'b');
insert      into T2   values     (2,'c');
insert      into T2   values     (2,'d');
insert      into T2   values     (3,'e');
insert      into T2   values     (3,'f');
insert      into T2   values     (5,'g');
insert      into T2   values     (5,'h');
commit--执行如下查询语句
Select * from T1 left join T2 on T1. T1_id=T2. T2_id;

由于对left join 理解不是很深,对其结果产生了疑惑,猜测有两种结果
猜测一:

T1_IDSTRT2_IDSTR
1A1a
1B1a
2C2c
2D2c
3E3E
3F3E
4G
4H

猜测二:

T1_IDSTRT2_IDSTR
1B1a
1A1a
1B1b
1A1b
2D2c
2C2c
2D2d
2C2d
3F3e
3E3e
3F3f
3E3f
4H
4G

验证:结果同猜测二

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值