`
luiyue921
  • 浏览: 60660 次
文章分类
社区版块
存档分类
最新评论

CROSS JOIN

 
阅读更多

最近在讲到T-SQL查询的Join部分时,一下子没有想起来CROSS JOIN的用法,因为其实平常也确实基本不用到。特意找了一个例子,以供参考

CROSS JOIN又称为笛卡尔乘积,实际上是把两个表乘起来。以下资料摘自:http://www.sqlguides.com/sql_cross_join.php

SQL CROSS JOIN will return all records where each row from the first table is combined with each row from the second table. Which also mean CROSS JOIN returns the Cartesian product of the sets of rows from the joined tables.

A CROSS JOIN can be specified in two ways: using the JOIN syntax or by listing the tables in the FROM clause separated by commas without using a WHERE clause to supply join criteria.

SQL CROSS JOIN syntax:

SELECT * FROM [TABLE 1] CROSS JOIN [TABLE 2]

OR

SELECT * FROM [TABLE 1], [TABLE 2]


EXAMPLE :

Let's try with 2 tables below:

Table 1: GameScores

PlayerName DepartmentId Scores
Jason 1 3000
Irene 1 1500
Jane 2 1000
David 2 2500
Paul 3 2000
James 3 2000

Table 2: Departments

DepartmentId DepartmentName
1 IT
2 Marketing
3 HR

SQL statement :

SELECT* FROM GameScores CROSS JOIN Departments

Result:

PlayerName DepartmentId Scores DepartmentId DepartmentName
Jason 1 3000 1 IT
Irene 1 1500 1 IT
Jane 2 1000 1 IT
David 2 2500 1 IT
Paul 3 2000 1 IT
James 3 2000 1 IT
Jason 1 3000 2 Marketing
Irene 1 1500 2 Marketing
Jane 2 1000 2 Marketing
David 2 2500 2 Marketing
Paul 3 2000 2 Marketing
James 3 3000 2 Marketing
Jason 1 3000 3 HR
Irene 1 1500 3 HR
Jane 2 1000 3 HR
David 2 2500 3 HR
Paul 3 2000 3 HR
James 3 3000 3 HR
2
2
分享到:
评论

相关推荐

    CROSSJOIN.pbix

    Power BI DAX函数学习:CROSSJOIN DAX中很实用的表函数:CROSSJOIN,返回两个参数的所有组合,也就是笛卡尔积,具体用法如下

    语法教学20. 用 inner, left, right, cross join 联集数据表的介绍与示范

    [MySQL][關聯式資料庫][DB]_語法教學#20._用_inner,_left,_right,_cross_join_聯集

    inner join-outer join-cross join查询方式总结

    表连接 内连接 外连接 交叉连接表连接 内连接 外连接 交叉连接表连接 内连接 外连接 交叉连接

    SQL中inner join、outer join和cross join的区别

    对于SQL中inner join、outer join和cross join的区别很多人不知道,我也是别人问起,才查找资料看了下,跟自己之前的认识差不多,如果你使用join连表,缺陷的情况下是inner join,另外,开发中使用的left join和right...

    SQL联合查询inner join、outer join和cross join的区别详解

    今天小编就为大家分享一篇关于SQL联合查询inner join、outer join和cross join的区别详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    MySQL中基本的多表连接查询教程

    1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用’,’ 如:  由于其返回的结果为被连接的两个数据表的乘积,因此当有WHERE, ON或USING条件的时候一般不建议使用,因为当数据表项目...

    join on 语句及扩展

    Join on/inner join on/full join on/full outer join on/left join on/right join on/cross join on; 在使用jion时,on和where条件的区别;

    sql中join总结

    SQL中大概有这么几种JOIN:cross joininner joinleft outer joinright outer joinfull outer join他们都是基于cross join(笛卡尔乘积),举例说明

    视频教程读书笔记之oracle从入门到精通

    [CROSS JOIN 表名称2] [NATURAL JOIN 表名称2] [JOIN 表名称 ON(条件)|USING(字段)] [LEFT | RIGHT | FULL OUTER JOIN 表名称2]; 1. 交叉连接:CROSS JOIN,主要功能是产生笛卡儿积,简单实现多表查询; SELECT...

    LINQ to SQL语句之Join和Order By

    SELECT [t0].[FirstName], [t0].[LastName], [t2].[TerritoryDescription] FROM [dbo].[Employees] AS [t0] CROSS JOIN [dbo].[EmployeeTerritories] AS [t1] INNER JOIN [dbo].[Territories] AS [t2] ON [t2]....

    微软内部资料-SQL性能优化5

    Having useful indexes speeds up finding individual rows in a table, as well as finding the matching rows needed to join two tables. What You Will Learn After completing this lesson, you will be able ...

    SQL多表连接查询、多表关联

    sql多表连接查询inner join, left join , right join ,full join ,cross join Posted on 2008-05-07 21:55 我开始懂了 阅读(21431) 评论(9) 编辑 收藏 inner join,full outer join,left join,right jion 内部连接 ...

    Hibernate5中文用户使用手册

    本文档方便初学者更好地学习,本文档内容从hibernate的整体架构出发、从基础逐渐深入,包含了Hibernate5中最主要的技术!!!

    mysql 开发技巧之JOIN 更新和数据查重/去重

    1 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN(MySQL 不支持)、CROSS JOIN 这是在网上找到的非常好的一篇博文,图解 join 语句: CODING HORROR-A Visual Explanation of SQL Joins 下图可以很清楚的明白,join ...

    sql server几种Join的区别测试方法

    主要来介绍下Inner Join , Full Out Join , Cross Join , Left Join , Right Join的区别。 Inner Join:筛选两边都有的记录 Full Out Join:两边都筛选出来,匹配能匹配的,不能匹配的用NULL列出 Cross Join:列出...

    MySQL多表查询(四).pdf

    交叉连接(CROSS JOIN):理解交叉连接的概念和使用场景。 自连接(SELF JOIN):在一个表内进行连接以解决特定问题。 子查询:在SELECT、INSERT、UPDATE、DELETE语句中使用子查询。 派生表(Derived Table):在...

    外连接,内连接 图文详解

    外连接,内连接, left join, right join, full join, cross join 有图有真相

    mdx 英文版 教程

    mdx英文版教程 第1章 MDX入门 ... 1.9.1 CrossJoin( )  1.9.2 Filter()  1.9.3 Order()  1.10 查询成员属性  1.11 查询单元属性  1.12 客户端结果数据布局  1.13 小结 第2章 计算成员和命名集简介

    SQL查询语句精华

    SQL查询语句精华交叉连接 ...FROM titles CROSS JOIN publishers ORDER BY typeSQL核心语句(非常实用的几个技巧)插入数据 向表中添加一个新记录,你要使用SQL INSERT 语句。这里有一个如何使用这种语句的例子:

Global site tag (gtag.js) - Google Analytics