马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
当要在两个表(或多个表)中查找对应数据时,与普通的查询略有差异。本篇博文用于先容根本的多表查询的方法。
为方便展示,本篇建了两个数据库表“门生表”和“班级表”作为例子
其中,在“门生表”中,cid标签体现的是门生所在班级的id
1.多表查询
通过以下语句查找两个表的全部内容(相当于将两个表拼合),我们会发现出现了随机匹配的情况
- SELECT * FROM `学生表`,`班级表`
复制代码
为办理这种问题,让门生和对应班级的信息匹配,我们可以通过添加条件实现,即查找出在门生表中cid与班级表中id相称的项
- SELECT * FROM `学生表`,`班级表` WHERE `门生表`.cid=`班级表`.id
复制代码
如许可以有用制止以上问题。
2.联表查询
方法:JOIN IN
2.1内联接
假设,有A,B两个表,join in 求的内联表即为下图示意中的黄色部分
对于本篇文章中的例子,详细SQL语句为:
- SELECT * FROM `学生表`join `班级表` on `学生表`.cid=`班级表`.id
复制代码 所得结果为下图:
2.2外联接
外联接又分为:左外联接和右外联接
左外联接示意图如下图赤色所示:
右外联接示意图如下图赤色所示:
在本文中的例子里,为了方便展示外联接,更新门生表和班级表如下:
左外联接的SQL语句 为:
- SELECT * FROM `学生表` left join `班级表` on `学生表`.cid=`班级表`.id
复制代码 结果如下,可见丽丽并没有对应班级,但在左外联表中仍会体现:
右外联接的SQL语句 为:
- SELECT * FROM `学生表` right join `班级表` on `学生表`.cid=`班级表`.id
复制代码 结果如下:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |