sql join on 多表连接_SQL 多表查询-交叉连接(笛卡尔积)
交叉连接(笛卡尔积)返回被连接的两个表所有数据行的笛卡尔积,返回结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
简单解释一下笛卡尔积
设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB.
笛卡尔积的符号化为:
AxB={<x,y>|x∈A∧y∈B}
例如,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>}
交叉连接(笛卡尔积)语法:
SELECT * FROM table1 CROSS JOIN table2;
SELECT * FROM table1 JOIN table2;
SELECT * FROM table1 , table2;
例如数据库中两张表,Teacher表和 Course表,如下图所示:
SQL 交叉连接语句(纯粹连接查询):
SELECT * FROM Teacher , Course;
输出结果:
SQL 交叉连接加上条件WHERE语句:
SELECT * FROM Teacher , Course
WHERE Teacher.tid=Course.tid;
输出结果:
由于交叉连接(笛卡尔积)返回的结果为被连接的两个数据表的乘积,当数据表量太多的时候,查询会非常慢,一般使用INNER JOIN 、LEFT JOIN或者RIGHT JOIN
sql join on 多表连接_SQL 多表查询-交叉连接(笛卡尔积)相关推荐
- mysql表连接,多表查询
MySQL数据库表连接 两张表通过where连接 格式: select 表名1.列名1,表名1.列名2,表名2.列名1,表名2.列名2 from 表名1,表名2 where 表名1.列名1=表名2.列 ...
- sql之left join、right join、inner join的区别,连接自己时的查询结果测试
sql之left join.right join.inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包 ...
- mysql中两个表连接_SQL语句中两个表的连接
展开全部 一.外连接 1.左连接 left join 或 left outer join SQL语句:select * from student left join score on student ...
- oracle 内部表连接方式,ORACLE 表连接方式
一表的连接 表的连接是指在一个SQL语句中通过表与表之间的关联,从一个或多个表检索出相关的数据.连接是通过SQL语句中FROM从句的多个表名,以及WHERE从句里定义的表之间的连接条件来实现的.如果一 ...
- oracle 内部表连接方式,oracle表连接方式
ORACLE表连接方式及常见用法(二) /2010-12-22 13:30:13 /个人分类: 一 引言 数据仓库是目前已知的比较成熟和被广泛采用的解决方案,用于整合电信运营内部所有分散的原始业务数据 ...
- Mysql表并联_SQL多表查询 表联结
一.表的加法 union 将表按照行加起来,如无特殊要求会自动删除重复数据 union all 保留全部的行 二.表的联结 表之间通过列产生关系,并联结在一起 jion联结 1.交叉联结 又称笛卡尔积 ...
- sql删除表结构_SQL删除表
sql删除表结构 In a real-time situation, there are scenarios when we would like to remove the table from t ...
- server sql top速度变慢解决方案_SQL Server数据库查询速度慢的原因和解决方法
SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...
- jpi多表联查_sql 多表联查询
展开全部 可以用谓词或联结实现: 连接实现: select * from b join a on b.id=a.id where a.b=21 联结实现的条件是两表id来自同一值域,表示3231313 ...
最新文章
- 机器学习入门--进阶资料和流程建议
- windows下,怎么轻易拷贝一个文件的完整路径?
- fiddler手机模拟器抓包_利用Fiddler对Android模拟器网络请求进行抓包
- 使用TF lite 优化 MobileDet 目标检测模型部署
- javascript学习之对象基础
- 防qq页面多边形html5,高仿QQ Xplan的H5页面
- Java基础算法看这一篇就够了,简单全面一发入魂
- 菜鸟html代码在线,html菜鸟教程,HTML新手如何快速入门
- idea dubug时查看某个常量报 no such static field “xxx”
- shell获取系统当前时间、本月1日、下月1日、本月月底、上月月底、上月同期日期
- 独孤密码-非对称加密算法RSA解析
- 毕索大学计算机科学怎么样,毕索大学的计算机硕士如何
- 三,java流程控制常见练习题及面试题
- linux pppd ip up 脚本,Linux下pppd拨号脚本配置(转载)
- 影版《宫》曝海报 周冬雨:想与张艺谋再合作
- 网易我的世界服务器怎么显示键盘,网易我的世界指令怎么用(常见的指令及使用方式)...
- 2020-5-22 吴恩达-改善深层NN-w1 深度学习的实用层面(1.7 理解 Dropout--压缩权重/分层设置keep-prob)
- win10浏览器闪退_win10系统打开360浏览器就闪退是什么情况?
- JAVA好管家,一天一个shell命令 linux好管家-进程-ps命令详解
- 生日祝福代码python_Python|送给朋友的生日祝福