准备
在数据库建立两张表
t_student学生表:scid、sname、cid
t_clazz班级表:cid、cname
1.交叉连接
交叉连接结果是笛卡尔积
左表的每条记录与右表的每条记录连接
SELECT * FROM t_student CROSS JOIN t_clazz ;
结果:15条记录
2.自然连接
自然连接是对两个表之间相同名字和数据类型的列进行等值连接
SELECT * FROM t_student NATURAL JOIN t_clazz;
结果:4条记录
3.内连接
查询出两个表的共同部分
(笛卡尔积满足on条件的部分)
SELECT * FROM t_student s INNER JOIN t_clazz c ON s.`cid`=c.`cid`;
结果:4条记录
4.左外连接
查询出两个表的共同部分+属于左表不属于右表部分
SELECT * FROM t_student s LEFT JOIN t_clazz c ON s.`cid`=c.`cid`;
结果:5条记录
5.右外连接
查询出两个表的共同部分+属于右表不属于左表部分
SELECT * FROM t_student s RIGHT JOIN t_clazz c ON s.`cid`=c.`cid`;
结果:5条记录