数据库表各种连接介绍

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

1 问题描述

在最近的一次项目的后台框架基本搭建好之后,需要进行对数据库的设计以及数据库表之间的连接。因此自己下来也学习了一下对数据库的左、右、内连接。问题就是数据库连接是什么?如何去连接呢?接下来就是我自己学习之后的到的结果。

2 问题分析

数据库连接是为了在不同的表中提取出我们需要的信息,将我们需要的信息匹配在一起。达到精简的效果,而没有多余的信息。但是如何实现呢?这就需要用到对数据库的连接。其中,包括内、外连接等,外链接又分为左、右连接。

内连接:如果表中至少一个匹配,则返回行。

左链接:即使右表中没有匹配的信息,也从左表返回所有行。

右连接:即使左表中没有匹配的信息,也从右表返回所有行。

3 解决方案

首先创建了两张表,一张是学生信息表,一张是课程信息表如图:

 

640?wx_fmt=png


SELECT student_id,students.name,subjects.subject_name 

FROM students

JOIN subjects ON students.id=subjects.s_id 

ORDER BY students.id

得到以下结果如图:

 

640?wx_fmt=png

 

左链接SQL语句为:

SELECT student_id,students.name,subjects.subject_name 

FROM studentsLEFT JOIN subjects ON students.id=subjects.s_id 

ORDER BY students.id

结果为如图:

 

640?wx_fmt=png

其中null表示在右表中没有匹配的信息。

右连接SQL语句:

SELECT student_id,students.name,subjects.subject_name 

FROM students 

RIGHT JOIN subjects ON students.id=subjects.s_id 

ORDER BY students.id

结果为如图:

 

640?wx_fmt=png

其中null表示在左表中没有匹配的信息。

SELECT student_id,students.name,subjects.subject_name 

FROM students 

RIGHT JOIN subjects

表示在在students和subjects两张表里面找student_id,name,subject_name对应的信息,ON students.id=subjects.s_id

表示当这两个信息相同的时候才会匹配在一起,ORDER BY students.id

表示以students.id来排序。

4 总结

数据库的连接是建立在设计好数据库的基础上,相比设计数据库而言,数据库连接要容易多了。需要重点掌握的就是SQL语句的运用,作为初学者的角度,学习写程序最为重要的就是慢慢去理解代码的含义,以及有哪些用处。希望本文章能够帮助你对数据库的学习。

 where2go 团队


   

微信号:算法与编程之美          

640?wx_fmt=jpeg

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法与编程之美

欢迎关注『算法与编程之美』

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值