1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > SQL的表格之间的join连接方式——inner join/left join/right join/full join语法及其用法实例

SQL的表格之间的join连接方式——inner join/left join/right join/full join语法及其用法实例

时间:2018-07-17 14:21:15

相关推荐

SQL的表格之间的join连接方式——inner join/left join/right join/full join语法及其用法实例

目录

1.SQL的表格join连接方式

(1)解释说明

(2)语法:tableA inner|left|right|full join tableB on (s)>

即 tableA inner|left|right|full join tableB on <连接字段>

2.left join函数的实例

(1)用法:从另一张表中获取目标列信息进行拼接。

(2)实例

1.SQL的表格join连接方式

(1)解释说明

inner join:内连接/交集连接,意思是两个表格都有的行才返回行数据。

left join:左连接,左表A和右表B连接,只要A表有就返回行数,B表没有对应位置则返回空值。

right join:左连接,左表A和右表B连接,只要B表有就返回行数,A表没有对应位置则返回空值。

full join:全连接/并集连接,左表A和右表B连接,只要A/B有则返回行数,没有的位置对应返回为空值。

(2)语法:tableA inner|left|right|full join tableB on <joint_column(s)>

即 tableA inner|left|right|full join tableB on <连接字段>

joint_column:连接字段/共同字段,一般用唯一且具有代表性两个表共有的字段作为连接字段,是指用于连接两个表的连接字段。比如一个学生信息表与成绩表连接一般用唯一且共同字段即学号ID来连接。

注意:一般情况下,为了节省运行时间以及输出表格数据内存,同时为了获取目标结果,采用left join语法即可解决大部分问题。

2.left join函数的实例

(1)用法:从另一张表中获取目标列信息进行拼接。

类似于Excel中的VLOOKUP函数映射信息

(2)实例

现有三张表,一张表是学生信息情况表student,主要字段是学号ID,姓名name,年龄age,班级class等其它学生信息;一张表是学生选课表course,主要字段有学号st_ID,课程号ID以及选课情况;一张是课程成绩表score,主要字段是课程号ID,语数英成绩分别为Chinese,math,English。

例1:获取学生选课情况的成绩。直接将学生选课表course和课程成绩表score左连接获取。

select *from courseleft join score on course.ID = score.ID

例2:获取学生所有信息,包括学生个人信息以及选课情况的成绩。将三个表左连接起来。

select *from studentleft join course on student.ID=course.st_IDleft join score on course.ID = score.ID

例3:在例2的基础上进行调整,只是获取学生部分信息以及个别门课成绩,包括学生学号、姓名、年龄、班级、math成绩。

select student.ID as ID,name,class,mathfrom studentleft join course on student.ID=course.st_IDleft join score on course.ID = score.ID) as table

注意:从多个表获取数据时,若需要获取的字段名在多个表都存在,无法确认从哪个表获取,需要指定表名即表名.字段,否则会报错。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。