什么是连接查询
我们将MySQL中的每一条数据当成一个样本,所谓连接查询就是将两个表(或者更多)的样本的域属性(字段或者列)通过关联属性(字段或者列)进行拼接。就像是下面这样。 学生表 班级表关联一下
2x2=4(笛卡尔积)
inner join 内连接查询
就像上面那样单纯的拼到一起有什么意义,emm我也不知道有什么意义,所以我们要加上点条件让数据变得有意义,也就是内连接查询喽。执行如下SQL,on后面跟上的就是查询条件。SELECT * FROM stu INNER JOIN cls ON stu.class_id = cls.class_id
内连接查询也就是将两个表的样本的域属性简单那么一拼,然后给你展示两个样本都有的数据。
蓝色区域即结果
left join 左连接查询
左外连接查询SQLSELECT * FROM stu LEFT JOIN cls ON stu.class_id = cls.class_id
左连接查询也就是
将两个表的样本
的域属性简单那么一拼,然后
给你展示左表拼接之后的
样本,那右表没有关联上的字段怎么办,就像上面那样两个Null
。
蓝色区域即结果
right join 右连接查询
左连接说完右连接不就简单啦,你把两个表换下位置不就好啦 ,看SQLSELECT * FROM stu RIGHT JOIN cls ON stu.class_id = cls.class_id
右连接查询也就是
将两个表的样本
的域属性简单那么一拼,然后
给你展示右表拼接之后的
样本,那左表没有关联上的字段怎么办,就像上面那样两个Null
。
蓝色区域即
结果