笛卡尔积与交叉联接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了笛卡尔积与交叉联接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1436字,纯文字阅读大概需要3分钟。
内容图文
1 笛卡尔积定义 设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成的有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB。 例如,A={a,b},B={0,1,2},则 AxB={a,o,a,1,a,2,b,0,b,1,b,2,} BxA={0,a,0,b,1,a,1,b,2,a,2,b} 2 交差联接 交差
1 笛卡尔积定义
设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成的有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB。
例如,A={a,b},B={0,1,2},则
AxB={,,,<b,0>,<b,1>,<b,2>,}
BxA={<0,a>,<0,b>,<1,a>,<1,b>,<2,a>,<2,b>}
2 交差联接
交差联接是笛卡尔积在SQL中的实现,SQL中使用关键字“CROSS JOIN”来表示交差联接。
例如:存在表tb_Class及表tb_Student,两表拥有的数据如下图所示。
对两表进行交叉连接查询:
<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:sql;">SELECT * FROM tb_Class a CROSS JOIN tb_Student b SELECT * FROM tb_Student c CROSS JOIN tb_Class d
得到以下查询结果:
3 小知识
1) 交叉连接不能使用ON关键字,但可以使用WHERE子句定义连接条件。
SELECT * FROM tb_Class a CROSS JOIN tb_Student b WHERE a.classid=b.classid
此时,与以下查询结果一致。
SELECT * FROM tb_Class a ,tb_Student b WHERE a.classid=b.classid
所以,如果添加了WHERE子句,则交叉联接的行为将与内部联接行为相似。
2 )交叉连接返回的数据行数为第一个表中符合条件的数据行数乘以第二个表中符合条件的数据行数。
实例中的 tb_Class表有4行数据,tb_Student表有3行数据,所以返回的结果有12行。
内容总结
以上是互联网集市为您收集整理的笛卡尔积与交叉联接全部内容,希望文章能够帮你解决笛卡尔积与交叉联接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。