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
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
...全文
385 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
煲汤镇河妖 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 就可以了吧
洋小葱 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;

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧