经常有这样的场景:在页面的表格处显示指标的数据,如果指标的数据不存在,那么指标的名称也不会显示。而实际上,有时候是需要显示名称的,因为这样可以知道页面区域的内容,没有数据是另外一回事,因此,我们需要对sql的执行原理有一定认识,才不会走太多的弯路。
如下SQL:
SELECT * FROM Class c LEFT JOIN Student s ON c.ClassID=s.ClassID AND s.StudentID='hhhhll'
是先对 s进行筛选,然后再join
如下SQL:
SELECT * FROM Class c LEFT JOIN Student s ON c.ClassID=s.ClassID
WHERE s.StudentID='llllffff'
是先join,再筛选数据。
对于第二种情况,如果没有学生,那么课程也就显示不了了,也就无法看到已有的课程。