在做数据库练习题时,遇到了这样的问题:
给出每个专业借阅的“c2”类的图书总数,没有借阅的次数显示为0(majorid,majorname,borrowcount)
数据库内容如下
最开始使用where语句对结果进行筛选,但是显示不了为0的项
参照网上的做法用LEFT JOIN 关键字进行了修改
所以查了一下where和left join的区别:
LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL(在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。)
where语句中如果没有匹配的,则返回一个空集,因此借阅人数为0的书籍不会被显示出来