在这主要说一下三种联表查询:
1、inner join:
-- INNER JOIN
SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
FROM `student` AS s
INNER JOIN `result` AS r
WHERE s.studentno = r.studentno;
结果如下:
2、left join
-- LEFT JOIN
SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
FROM `student` AS s
LEFT JOIN `result` AS r
ON s.studentno = r.studentno;
结果如下:
3、right join
-- RIGHT JOIN
SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
FROM `student` AS s
RIGHT JOIN `result` AS r
ON s.studentno = r.studentno;
结果如下:
4、总结
inner join 返回两个表中都有的数据
left join 会从左表中返回所有的值,即使右表中没有匹配
right join 会从右表中返回所有的值,即使左表中没有匹配
这里写的大多数都是网上学的,因为觉得老师没把 inner join的作用,和其它的区别说好,自己经过几遍的修改运行之后,觉得自己的才是对的,所以自己就总结发了一下