社区
疑难问题
帖子详情
我在别人的一个视图代码中看到有一句cross join,请哪位说一下cross join的用法
xaojancsdn
2003-11-05 08:11:55
见题
...全文
51
5
打赏
收藏
我在别人的一个视图代码中看到有一句cross join,请哪位说一下cross join的用法
见题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
2003-11-06
打赏
举报
回复
Cross Join
Cross Join 逻辑运算符将第一个(顶端)输入中的每行与第二个(底端)输入中的每行联接在一起。
atlasGS
2003-11-06
打赏
举报
回复
大力的好东西真多啊
pengdali
2003-11-05
打赏
举报
回复
你到查询分析器里执行一下:
declare @a table(a int,b int)
declare @b table(a int,b int)
insert @a values(1,1)
insert @a values(2,2)
insert @b values(1,1)
insert @b values(3,3)
--左:
select * from @a Aa left join @b Bb on Aa.a=Bb.a
--右:
select * from @a Aa right join @b Bb on Aa.a=Bb.a
--内
select * from @a Aa join @b Bb on Aa.a=Bb.a
--外
select * from @a Aa full join @b Bb on Aa.a=Bb.a
--完全
select * from @a,@b
就可以看出异同了。
lvltt
2003-11-05
打赏
举报
回复
Cross Join
Cross Join 逻辑运算符将第一个(顶端)输入中的每行与第二个(底端)输入中的每行联接在一起。
使用交叉联接
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。下面是 Transact-SQL 交叉联接示例:
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
ORDER BY au_lname DESC
结果集包含 184 行(authors 有 23 行,publishers 有 8 行;23 乘以 8 等于 184)。
不过,如果添加一个 WHERE 子句,则交叉联接的作用将同内联接一样。例如,下面的 Transact-SQL 查询得到相同的结果集:
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
WHERE authors.city = publishers.city
ORDER BY au_lname DESC
— 或
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors INNER JOIN publishers
ON authors.city = publishers.city
ORDER BY au_lname DESC
yelook
2003-11-05
打赏
举报
回复
使用交叉联接
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。下面是 Transact-SQL 交叉联接示例:
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
ORDER BY au_lname DESC
结果集包含 184 行(authors 有 23 行,publishers 有 8 行;23 乘以 8 等于 184)。
不过,如果添加一个 WHERE 子句,则交叉联接的作用将同内联接一样。例如,下面的 Transact-SQL 查询得到相同的结果集:
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors CROSS JOIN publishers
WHERE authors.city = publishers.city
ORDER BY au_lname DESC
— 或
USE pubs
SELECT au_fname, au_lname, pub_name
FROM authors INNER JOIN publishers
ON authors.city = publishers.city
ORDER BY au_lname DESC
SQL
中
inner
join
、outer
join
和c
ros
s
join
的区别
对于SQL
中
inner
join
、outer
join
和c
ros
s
join
的区别很多人不知道,我也是别人问起,才查找资料看了下,跟自己之前的认识差不多,如果你使用
join
连表,缺陷的情况下是inner
join
,另外,开发
中
使用的left
join
和right
join
属于outer
join
,另外outer
join
还包括full
join
.下面我通过图标让大家认识它们的区别。
join
的详细
用法
.doc
join
的详细
用法
.doc
表连接 SQL
JOIN
速查表
表连接 SQL
JOIN
速查表
三种研发过程
中
提高SQL性能方法的分析.pdf
三种研发过程
中
提高SQL性能方法的分析.pdf
外连接,内连接 图文详解
外连接,内连接, left
join
, right
join
, full
join
, c
ros
s
join
有图有真相
疑难问题
22,300
社区成员
121,734
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章