前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库表各种连接介绍

数据库表各种连接介绍

作者头像
算法与编程之美
发布2019-10-10 17:11:59
7420
发布2019-10-10 17:11:59
举报

1 问题描述

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

2 问题分析

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

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

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

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

3 解决方案

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


SELECT student_id,students.name,subjects.subject_name

FROM students

JOIN subjects ON students.id=subjects.s_id

ORDER BY students.id

得到以下结果如图:

左链接SQL语句为:

SELECT student_id,students.name,subjects.subject_name

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

ORDER BY students.id

结果为如图:

其中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

结果为如图:

其中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语句的运用,作为初学者的角度,学习写程序最为重要的就是慢慢去理解代码的含义,以及有哪些用处。希望本文章能够帮助你对数据库的学习。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 问题描述
  • 2 问题分析
  • 3 解决方案
  • 4 总结
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档