SQL语句基础之连接查询
介绍sql连接多表进行查询,包括对INNER JOIN、LEFT JOIN、RIGHT JOIN等的基础使用
备注:若文中有存在问题的内容,请大家多多指教,欢迎大家打扰以及指导.........................
实例用以下两张表进行演示
student表结构如下图
teacher表结果如下图
两张表以id为主外键关系进行关联
1.INNER JOIN与JOIN(等值连接)
作用:INNER JOIN 关键字在表中存在至少一个匹配时返回行,使用INNER JOIN和使用JOIN的效果是一样的
实例:选取student表中的id值与teacher表中id值相等的数据
select * from student t inner join teacher t1 on t.id=t1.id;
返回结果如下:
使用join进行查询:select * from student t join teachet t1 on t.id=t1.id;
此时返回的结果是一样的如下图:
2.LEFT JOIN(左连接)
作用:选取左表全部的数据,对于右表中没有匹配的记录,则结果为null
以下实例中使用student为左表,teacher为右表进行查询数据
select * from student t left join teacher t1 on t.id=t1.id
返回结果如下图:
备注:查询结果中,id为A0006和A0008的数据在teacher表中没有记录,故显示为null
3.RIGHT JOIN(右连接)
作用:选取右表全部的数据,对于左表中没有匹配的记录,则结果为null
以下实例中使用student为右表,teacher为左表进行查询数据
select * from teacher t right join student t1 on t.id=t1.id
返回结果如下图:
备注:查询结果中,id值为A0006和A0008的数据在对应左表中不存在数据,则显示为null