mysql join用法分析

student表


score表


1、left JOIN 左联接

sql:SELECT * FROM student sc left JOIN `score` ss on sc.id=ss.student_id;

结果:

mysql join用法分析_第1张图片

 left join是以student表的记录为基础的,student可以看成左表,score可以看成右表,left join是以左表为准的.
换句话说,左表(student)的记录将会全部表示出来,而右表(score)只会显示符合搜索条件的记录,score表记录不足的地方均为NULL。


2、right JOIN  右联接

sql:SELECT * FROM student sc right JOIN `score` ss on sc.id=ss.student_id;

结果:

和left join的结果相反,这次是以右表(score)为基础的,student表不足的地方用NULL填充。


3、INNER JOIN  内联接/等值联接

sql:SELECT * FROM student sc INNER JOIN `score` ss on sc.id=ss.student_id;

结果:

只显示出了 sc.id=ss.student_id的记录.这说明inner join取两表交集的记录。只返回两个表中联结字段相等的行。



你可能感兴趣的:(mysql join用法分析)