SQL俩表关联查询

GIS__ 2013-02-22 11:27:51
表1
A B C

key001 name1 password1
key002 name2 password2

表2
A D

key001 text1
key002 text2

通过表1,表2, SQL查询结果显示
A B C D

key001 name1 password1 text1
key002 name2 password2 text2

而不是。。。。。。。。。。。。。。。。。。。。。。。。。。。。
A B C D

key001 name1 password1 text1
key002 name2 password2 text1
key001 name1 password1 text2
key002 name2 password2 text2
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
...全文
310 12 点赞 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
煲汤镇河妖 2013-02-28
笛卡尔乘积,select 表1.A, 表1.B,表1.C,表2.D from 表1 join 表2
  • 打赏
  • 举报
回复
gjwwba 2013-02-27
用 LEFT JOIN 就能够搞定的吧
  • 打赏
  • 举报
回复
gjwwba 2013-02-27
用 LEFT JOIN 就可以了吧
  • 打赏
  • 举报
回复
冰LoVe子 2013-02-27
内连接:(如果表TABLE2中在TABLE1中没有,就不会查询出结果) SELECT A1.* , A2.D FROM TABLE1 A1 INNER JOIN TABLE2 A2 ON A1.A = A2.A 左外连接:(如果表TABLE2中在TABLE1中没有,则TABLE2中的值统统用NULL来表示) SELECT A1.* , A2.D FROM TABLE1 A1 LEFT JOIN TABLE2 A2 ON A1.A = A2.A 交叉连接:(会把TABLE1和TABLE2两个表的内容都加到一起) SELECT * FROM TABLE1 CROSS JOIN TABLE2
  • 打赏
  • 举报
回复
飘飘哥 2013-02-25
引用 2 楼 shadow1986a 的回复:
select 表1.A, 表1.B,表1.C,表2.D from 表1 left join 表2 on 表1.A=表2.A
  • 打赏
  • 举报
回复
oZouBianBian 2013-02-23
目测楼主是要做笛卡尔积,那么久不用写连接条件,直接这样写: select 表1.A, 表1.B,表1.C,表2.D from 表1 ,表2; 不过这样写的是没意义的, 估计楼主还是学生吧, 在工作中这种情况是遇不见的哦。所以不要纠结这些问题啦,好钢要用在刀刃上
  • 打赏
  • 举报
回复
shadow1986a 2013-02-22
或者 select 表1.A, 表1.B,表1.C,表2.D from 表1 ,表2 where 表1.A=表2.A 根据需要写吧。
  • 打赏
  • 举报
回复
shadow1986a 2013-02-22
select 表1.A, 表1.B,表1.C,表2.D from 表1 left join 表2 on 表1.A=表2.A
  • 打赏
  • 举报
回复
GIS__ 2013-02-22
这个怎么写呢
  • 打赏
  • 举报
回复
直接join查询就可以了。 不过需要注意,表中不要出现A字段重复的数据,例如: key001 text1 key002 text2 ... key001 text3
  • 打赏
  • 举报
回复
陪公主读书 2013-02-22
没搞懂楼主你想问什么 感觉楼上的回答都不对,这个明显是用笛卡尔积来实现吧 内连接还是会产生楼主的疑问呀
  • 打赏
  • 举报
回复
fw0124 2013-02-22
select 表1.A, 表1.B,表1.C,表2.D from 表1 ,表2 where 表1.A=表2.A;
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-02-22 11:27
社区公告
暂无公告