mysql的left join_mysql中的left join、right join、join
sql准备
INSERT INTO name(name, age, grade) VALUES ('小白', 20, 1), ('小黑', 21, 2), ('小红', 22, 3), ('小花', 23, 4), ('小绿', 24, 5) ;
INSERT INTO classes (cname) VALUES ('欧阳锋'), ('杨过'), ('乔峰');
INSERT INTO classes (id,cname) VALUES (7, '溜哒');


各种join的使用
left join 即为以sql语句中的左边的表为主要表关联右边的表,其中使用on作为条件筛选,where为过滤条件
以name为主表,classes为关联表
SELECT *
FROM name t1 LEFT JOIN classes t2 ON t1.grade = t2.id;


可以看到小花和小绿并没有关联到classes中的任何数据,我们以name为左表,然后以classes为右表然后进行关联,展示5行数据,条件不符合的小花和小绿(没有想对应的班级、师傅领养),即为野生,需要使用null补全,而溜哒同学干脆直接无视。
以classes为主表以name为关联表
SELECT *
FROM name t1 RIGHT JOIN classes t2 ON t1.grade = t2.id;

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
