老师,上面的 INNER JOIN 连接查询
SELECT s.id, s.name, s.class_id, c.name class_name, s.gender, s.score FROM students s INNER JOIN classes c ON s.class_id = c.id;
和用 WHERE students.class_id=classes.id 的条件查询:
WHERE students.class_id=classes.id
SELECT s.id, s.name, s.class_id, c.name class_name, s.gender, s.score FROM students s, classes c WHERE s.class_id=c.id;
结果相同,那一般常用的 INNER JOIN 查询方式是不是可以用 WHERE 的方式替代呢?
INNER JOIN
WHERE
FROM x, y就是笛卡尔积,两个1万行的表就会变成1亿行,效率太低
soga,不用 where 是因为低效,这才是本质
FROM x, y后加入where条件,是不是就是隐式内连接,和INNER JOIN 的写法效率一样吗
FROM X,Y是先做笛卡尔乘积,WHERE 再从乘积后的表中选出指定列,
直接INNERE JOIN可以从一个主表 “附加” 副表的一列,效率更高点
原来 答案 在这里 以后 就用内连接了
Sign in to make a reply
黑-白_GREY
老师,上面的 INNER JOIN 连接查询
和用
WHERE students.class_id=classes.id
的条件查询:结果相同,那一般常用的
INNER JOIN
查询方式是不是可以用WHERE
的方式替代呢?