MySQL—–JOIN语句之左连接、右连接

作者 : admin 本文共613个字,预计阅读时间需要2分钟 发布时间: 2024-06-11 共1人阅读

接着上文我们将基于学生,课程,考试信息三个表对内连接的总结,我们再来对左右连接进行一个总结,三个表结构以及表内数据如下图所示:
MySQL—–JOIN语句之左连接、右连接插图

左连接

为了便于展示左右连接的区别,我们在student表里插入了一位成员,他没有考过试:

语法

SELECT a.属性名列表,b.属性名列表 FROM table_name1 a LEFT [OUTER] JOIN table_name2 b on a.id = b.id;       

MySQL—–JOIN语句之左连接、右连接插图(1)

把left这边的表所有的数据显示出来,在右表中不存在相应数据,则显示NULL

右连接

语法

SELECT a.属性名列表,b.属性名列表 FROM table_name1a RIGHT [OUTER]JOIN table_name2 b on a.id= b.id;     

MySQL—–JOIN语句之左连接、右连接插图(2)
把right这边的表所有的数据显示出来,在左表中不存在相应数据,则显示NULL

注意:查找表的顺序与大小表无关区分,也就是说不区分大小表。左右表就是根据在left前面就是左表,right 右边就是右表。

MySQL—–JOIN语句之左连接、右连接插图(3)

举个例子~

利用左连接 查找没有考过试的学生信息

select a.* from student a left join exame b on a.uid=b.uid where b.cid is null;

MySQL—–JOIN语句之左连接、右连接插图(4)

注意:对于左右连接,过滤条件在过滤条件在where和on后面对于底层是不同的,他们得到的结果也是不同的,where后面的话实际上和inner是一样的。这一点要和inner join进行区分,在inner join中写在where和on后面是一样的。

MySQL—–JOIN语句之左连接、右连接插图(5)

本站无任何商业行为
个人在线分享 » MySQL—–JOIN语句之左连接、右连接
E-->