表与表之间的操作主要包括:内连接,外连接,交叉连接
先举两个表的例子:
1、内连接 inner join on
作用效果:
内联结就是将左表的所有数据分别于右表的每条数据进行连接组合,返回的结果为同时满足左右表联接条件的数据。
例句:
select *
from t_student
inner join t_score on t_student.id=t_score.id
结果:
2、外连接 (主要包括以下3中)
2.1、left join 左外连接
作用效果:
左外联结就是将左表的所有数据分别于右表的每条数据进行连接组合,返回的结果除内连接的数据外,还有左表中不符合条件的数据,并在右表的相应列中填上null值。
例句:
select *
from t_student
left join t_score on t_student.id=t_score.id
结果:
2.2、right join 右外连接
作用效果:
右外联结就是将右表中的所有数据分别与左表的每条数据进行连接组合,返回的结果除了内连接的数据外,还有右表中不符合条件的数据,并在左表相应的列中填上null值。
例句:
select *
from t_student
right join t_score on t_student.id=t_score.id
结果:
2.3、full join 全外连接
作用效果:
全外联接就是将左表的所有数据分别与右表的每条数据进行连接组合,返回的结果除了内连接的数据外,还有两个表中不符合条件的数据,并在左表或者右表的相应列中填上null值。
例句:
select *
from t_student
full join t_score on t_student.id=t_score.id
结果:
3、cross 交叉链接
作用效果:
交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
例句:
select *
from t_student
cross join t_score
结果: