测试必备的Mysql常用sql语句

https://www.cnblogs.com/poloyy/category/1683347.html

前言

  • 交叉连接就是求多表之间的笛卡尔积
  • 讲道理..这个我都不怎么常用..因为能用到的地方太少了;但还是要介绍的啦

啥是笛卡尔积

这属于数学的内容,不介绍概念,直接看栗子来知道吧!

假设,有两个集合A、B

A = {1,2}
B = {3,4}

集合A和集合B的笛卡尔积 = 集合A * 集合B;即,两表相乘,如下:

AxB = {(1,3),(1,4),(2,3),(2,4)}
  • 在Mysql中,表与表之间的笛卡尔积不建议使用,会产生大量不合理的数据;
  • 假设两张表各有100条记录,那么表与表的笛卡尔积的数据量就有100*100=10000条了...

cross join 的语法格式

SELECT <字段名> FROM <表1> CROSS JOIN <表2> [WHERE]
SELECT <字段名> FROM <表1>, <表2> [WHERE子句]

先看看dept、emp表有什么数据

dept表

emp表

cross join单独使用的栗子

select * from emp cross join dept;

总记录数 = emp记录数(9) * dept记录数(4) = 36

cross join + where 的栗子

select * from emp as a cross join dept as b on a.dept_id = b.id;

最新文章

  1. Java 代码完成删除文件、文件夹操作
  2. 第二轮冲刺-Runner站立会议03
  3. js调用.net后台事件、后台调用前台以及js调用服务器控件
  4. OpenCV 学习之路(1)
  5. 咏南IOCP中间件
  6. NOIP2010 关押罪犯 (并查集)
  7. 【avalon】createMap
  8. (文件描述符0、1、2),(stdin、stdout、stderr),(终端设备)这三者之间的关系???
  9. IOS开发UI篇之──自定义UIActionSheet
  10. 【BZOJ2793】【数学】[Poi2012]Vouchers
  11. JLINK烧写BIN文件到nand、norflash、SDRAM
  12. 关于用模拟器运行百度地图API无法定位的问题 - 不能用模拟器
  13. 201521123038 《Java程序设计》 第八周学习总结
  14. Kubernetes 笔记 08 Deployment 副本管理 重新招一个员工来填坑
  15. python3 多线程的使用
  16. JDK 5~8的特性对比
  17. 以太坊如何使用CPU挖矿?
  18. Factory Method
  19. 数学之美——HMM模型(一)介绍
  20. jenkins与SonarQube集成

热门文章

  1. 「必知必会」最细致的 ArrayList 原理分析
  2. 题解 P6688 可重集
  3. Flutter学习(7)——网络请求框架Dio简单使用
  4. Linux命令(五)之service服务查找、启动/停止等相关操作
  5. MySQL-04-SQL简单介绍
  6. 使用JDBC(Dbutils工具包)来从数据库拿取map类型数据来动态生成insert语句
  7. perfdog的基本使用
  8. msfvenom简介
  9. CentOS6与CentOS7的几点区别
  10. Qt多窗口编程详解