left join在我们使用mysql查询的过程中可谓非常常见,比如博客里一篇文章有多少条评论、商城里一个货物有多少评论、一条评论有多少个赞等等。但是由于对join、on、where等关键字的不熟悉,有时候会导致查询结果与预期不符,所以今天我就来总结一下,一起避坑。
假设有一个班级管理应用,有一个表classes,存了所有的班级;有一个表students,存了所有的学生,具体数据如下
CREATE TABLE `classes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;
INSERT INTO `test`.`classes`(`id`, `name`) VALUES (1, '一班');
INSERT INTO `test`.`classes`(`id`, `name`) VALUES (2, '二班');
INSERT INTO `test`.`classes`(`id`, `name`) VALUES (3, '三班');
INSERT INTO `test`.`classes`(`id`, `name`) VALUES (4, '四班');
CREATE TABLE `students&