这里是修真院后端小课堂,每篇分享文从
八个方面深度解析后端知识/技能,本篇分享的是:
【mysql 多表查询】
标题:【修真院java(职业)小课堂】mysql 多表查询
大家好,我是IT修真院武汉分院的15期学员,一枚正直纯洁善良的JAVA程序员。 本次为大家带来关于深度思考的一个问题,我们为什么要使用mysql多表查询?
(1)背景介绍:
在任务一里,我们已经对mysql数据库的基本sql有了一定了解,也能使用基于单表的sql操作来完成修真院的Java任务,然而实际项目中,我们所需要的数据往往存在于多张表中,那么基本的单表查询语句就显得力不从心了(当然也可以选择单表多次查,但开发效率大打折扣)
什么是多表查询
多表查询就是从多张表中查找出所需的数据,并且按照自己设定的约束条件将两表中查出的数据整合在一起获取出来
表之间的关系到底是怎样确立的?
表的关联,只是一种逻辑概念,mysql并没有强大到可以帮我们完美实现物理上的“硬绑定”,这种关联的逻辑实际上只是表中某些数据存在一定的联系而已(比如设公共字段,建关联表等),而这种数据上的联系是我们在设计表的时候定好的逻辑
如何只用一条sql语句就查出几张不同表中的数据呢?
交叉连接
交叉连接是把任意两个表连接起来。假设2张表,笛卡尔积就是2张表的所有记录的排列组合,比如: select * from 表1,表2——这就是 表1,表2的笛卡尔积。但是,实际情况中,真正使用的绝大部分都是它的子集(即2表是有