如何用SQL实现笛卡尔积啊

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

怎么写呀?
...全文
1122 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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字段的笛卡尔集

27,581

社区成员

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

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