三个表insert into aa1 values(1,'aa1','aa1');
insert into aa1 values(2,'aa1','aa1');
create table aa2(
id int ,
name varchar(20),
sex varchar(20)
)
insert into aa2 values(1,'aa2','aa2');
insert into aa2 values(2,'aa2','aa2');create table aa3(
id int ,
name varchar(20),
sex varchar(20)
)
//aa3是空表 create table aa4(
id int ,
name varchar(20),
sex varchar(20)
)
//insert into aa4 values(1,'aa4','aa4');
//insert into aa4 values(2,'aa4','aa4');现在我用以下查询select * from aa1,aa2 where aa1.id=aa2.id;
//当然这个肯定是可以查出来的 select * from aa1,aa2,aa3 where aa1.id =aa2.id;
//那为什么这个查不到数据 仅仅加了个空表aa3为什么就得不到值了。 问题1.select * from aa1,aa2,aa4 where aa1.id =aa2.id ;
//但我这样却可以得到值。。为什么? 问题2
select * from aa1 inner join aa2 on aa1.id=aa2.id inner join aa3 on aa1.id=aa3.id;
//内连接依然查不到 问题3
select * from aa1 left join aa2 on aa1.id=aa2.id left join aa3 on aa1.id=aa3.id;
//左连接为什么可以查到 问题4select * from aa1 right join aa2 on aa1.id=aa2.id right join aa3 on aa1.id=aa3.id;
//右连接依然查不到 问题5
insert into aa1 values(2,'aa1','aa1');
create table aa2(
id int ,
name varchar(20),
sex varchar(20)
)
insert into aa2 values(1,'aa2','aa2');
insert into aa2 values(2,'aa2','aa2');create table aa3(
id int ,
name varchar(20),
sex varchar(20)
)
//aa3是空表 create table aa4(
id int ,
name varchar(20),
sex varchar(20)
)
//insert into aa4 values(1,'aa4','aa4');
//insert into aa4 values(2,'aa4','aa4');现在我用以下查询select * from aa1,aa2 where aa1.id=aa2.id;
//当然这个肯定是可以查出来的 select * from aa1,aa2,aa3 where aa1.id =aa2.id;
//那为什么这个查不到数据 仅仅加了个空表aa3为什么就得不到值了。 问题1.select * from aa1,aa2,aa4 where aa1.id =aa2.id ;
//但我这样却可以得到值。。为什么? 问题2
select * from aa1 inner join aa2 on aa1.id=aa2.id inner join aa3 on aa1.id=aa3.id;
//内连接依然查不到 问题3
select * from aa1 left join aa2 on aa1.id=aa2.id left join aa3 on aa1.id=aa3.id;
//左连接为什么可以查到 问题4select * from aa1 right join aa2 on aa1.id=aa2.id right join aa3 on aa1.id=aa3.id;
//右连接依然查不到 问题5
create table aa1(
id int ,
name varchar(20),
sex varchar(20)
)加到最上面··
a1无记录
A有记录
SELECT * FROM a,a1
没有记录
//aa3是空表 与其它表做笛卡尔积的结果还是空表。aa4 有记录,这们与它表做笛卡尔积的结果自然会有N*M条记录。
aa3没有记录,记录数为0
aa1记录数*aa2记录数*aa3记录数(0)=0
问题2:A1、A2均有记录
问题3:A3表没有满足条件的记录
问题4:以A1为标准,有记录
问题5:以aa3为标准,没有记录