如何用SQL实现笛卡尔积啊

fd7893 2006-06-09 09:32:43
如何用SQL实现笛卡尔积啊
大虾们帮帮忙 急!

怎么写呀?
...全文
1134 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppact 2006-06-11
  • 打赏
  • 举报
回复
别写where条件,自动会成为你要求的那样的!
marco08 2006-06-11
  • 打赏
  • 举报
回复
use pubs
go
select * from titles, authors
LouisXIV 2006-06-09
  • 打赏
  • 举报
回复 1
Cross Join就是
fd7893 2006-06-09
  • 打赏
  • 举报
回复
先谢谢各位了
xeqtr1982 2006-06-09
  • 打赏
  • 举报
回复
使用交叉联接
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。下面是 Transact-SQL 交叉联接示例:

USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
ORDER BY au_lname DESC

--下面的是另一种写法

select * from @t,@a
huailairen 2006-06-09
  • 打赏
  • 举报
回复
用cross join
相当于两个表里的每一行都相互对应一次。
fd7893 2006-06-09
  • 打赏
  • 举报
回复
解释解释 每搞过数据库 看不懂啊
xeqtr1982 2006-06-09
  • 打赏
  • 举报
回复
declare @t table(a int)
insert into @t select 1
insert into @t select 2
insert into @t select 3

declare @a table(b int)
insert into @a select 4
insert into @a select 5
insert into @a select 6

select * from @t,@a

select * from @t cross join @a

--2表的笛卡尔积
fd7893 2006-06-09
  • 打赏
  • 举报
回复
好像很简单 但在下菜啊!
帮帮忙吧
splory 2006-06-09
  • 打赏
  • 举报
回复
两张表的字段字节查询而没有查询条件时就是得到笛卡尔集
如:select A.a1,B.b1 from A,B
得到的就是a1字段与a2字段的笛卡尔集
内容概要:本文深入讲解了数据库关系代数的五种基本运算——并、差、笛卡尔积、选择和投影,系统阐述了每种运算的数学定义、操作规则、实际应用场景及SQL实现方式。通过具体案例(如学生成绩合并、缺勤员工查询、商品推荐等)展示了各运算的操作逻辑与业务价值,并进一步介绍如何将多种运算组合使用以构建复杂查询,如在学生选课系统中联合多表完成精准数据检索。文章强调关系代数作为数据库查询的数学基础,在数据处理、查询优化、大数据分析和人工智能中具有重要地位。; 适合人群:具备一定数据库基础知识,正在学习或从事数据库设计、开发、数据分析等相关工作的初、中级技术人员;高校计算机专业学生。; 使用场景及目标:①理解SQL查询背后的数学原理,提升对SELECT、UNION、EXCEPT、JOIN等语句的本质认知;②掌握如何通过基本运算组合实现复杂业务查询,优化查询逻辑与执行效率;③为深入学习数据库内部机制、数据挖掘和查询优化打下理论基础。; 阅读建议:建议结合文中SQL示例在数据库环境中动手实践,对照关系代数表达式理解查询执行过程,重点关注运算顺序对性能的影响,并延伸学习连接、除法等高级运算以完善知识体系。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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