SQL中的LEFT RIGHT INNER JOIN的区别及学习
多表连接,在工作中是经常遇见的,现在来讲讲LEFT、RIGHT和INNER JOIN的用法,用法会了区别就出来了,写的不专业,只是为了便于理解和学习。
首先讲INNER JOIN的使用,INNER JOIN是根据ON的条件过滤出两表条件相同的数据,如图的Student表和Course表。
1、查询“张大大”选修了那些课程(为方便用*查出所有的字段)
SELECT *
FROM Student s
INNER JOIN Course c
ON s.课程号=c.课程号
WHERE c.姓名=“张大大”;
分析:ON后面的条件是 s.课程号=c.课程号,根据条件,两个表相同的是“1101”,所以结果就是
LEFT JOIN左连接,顾名思义,向左连接,左表是主表,查询主表的所有数据,过滤ON条件符合的右表的数据,还是以Student和Course为例。
2、使用LEFT JOIN查询所有学生的选课情况。
SELECT *
FROM Student s
LEFT JOIN Course c
ON s.课程号=c.课程号;
分析:首先要明白那个是主表也就是左表,这个靠平时接触的多了就会了,Student表是主表,Course是右表,查询Student表所有的信息,过滤ON条件相同的Course数据,所以结果是:
RIGHT JOIN 和LEFT JOIN是相反的,右边是主表,LEFT 和 RGITH JOIN 理解一个就都明白了,主要还是找主表。
3、使用RIGHT JOIN查询课程的选课情况。
SELECT *
FROM Student s
RIGHT JOIN Course c
ON s.课程号=c.课程号;
分析:主表是Course所以放在右边,左边Student则是要过滤的表。所以结果是:
结语:我平常用的INNER JOIN和LEFT JION比较多,RIGHT JOIN和LEFT JOIN 一样,只是换换位置的问题。
上一篇: (MariaDB)开窗函数用法
下一篇: 第二章、深入类和对象
推荐阅读
-
sql的left join 、right join 、inner join之间的区别
-
SQL中的left join right join
-
sql中的left join以及on、where关键字的区别
-
oracle中left join和right join的区别浅谈
-
sql中的left join及on、where条件关键字的区别详解
-
数据库中的左连接(left join)和右连接(right join)区别
-
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结
-
sql之left join、right join、inner join的区别
-
SQL之left join、right join、inner join的区别浅析
-
SQL-连接查询:left join,right join,inner join,full join之间的区别