开发者社区 问答 正文

MySQL中内连接与一般连接中的问题

内连接
SELECT A.name,B.address FROM A INNER JOIN B ON A.id=B.A_id;
等价于一般连接
SELECT A.name,B.address FROM A,B WHERE A.id=B.A_id;
如上,这两个语句,查询出的结果是一样的,那么这两个语句上的区别在那里?什么情况下使用内连接。而不是用一般连接?请指点~。~,那个效率好点?我们平时最多使用那个呢?

展开
收起
蛮大人123 2016-02-07 17:07:13 2424 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    功能是一样的.我习惯用第二种WHERE字句的表连接方法,感觉更好理解.
    1万条记录的测试,在phpMyAdmin里观察执行时间和EXPLAIN信息,性能也差不多.
    比如连接student,score,cource三个表,查询学生ID为1的信息:
    / WHERE字句 /
    SELECT * FROM student, score, course
    WHERE student.id = score.student_id
    AND score.course_id = course.id
    AND student.id = 1;

    / INNER JOIN ON /
    SELECT * FROM student
    INNER JOIN score
    ON student.id = score.student_id
    INNER JOIN course
    ON score.course_id = course.id
    WHERE student.id = 1;

    2019-07-17 18:39:14
    赞同 展开评论