详解MySQL 联合查询 (IN和EXISTS区别)
笛卡尔积 笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 [3] 。
<img src="https://img.mryunwei.com/uploads/2023/04/20230419160529970.jpg"><p>笛卡尔积</p>
笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 [3] 。 假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
推荐:mysql视频教程
内连接
外连接
外连接分为左外连接和右外连接。如果联合查询,左侧的表完全显示我们就说是左外连接;右侧的表完全显示我们就说是右外连接。
自连接
涉及到行与行之间的比较时,就需要自连接了 示例:显示所有“计算机原理”成绩比“Java”成绩高的成绩信息
子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。 单行子查询:返回一行记录的子查询 案例:查询与“小白” 同学的同班同学:
为了合并多个select的执行结果,可以使用集合操作符 union,union all。使用UNION 和UNION ALL时,前后查询的结果集中,字段需要一致。union 该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中的重复行。 案例:查询id小于3,或者名字为“英文”的课程: