),(5,3,20210412,94),(5,4,20210411,95);
我们现在想查询1号同学的个人信息以及他的2号课程的成绩
先查询在学生表中查询zahngsan的详细信息:
select uid...uid=1 and cid=2;
内连接合并两次查询的结果
由于是查询学生表和考试表公共的部分,索引使用inner join
select stu.uid, stu.name, stu.age, stu.sex...,我们再次使用内连接,连接3张表,查询带有课程名的信息
select stu.uid, stu.name, stu.age, stu.sex, ex.time, ex.score, co.cname from...内连接优化查询
优化原理:由于生成小表(临时表)的时候使用了带有索引的属性id,故生成小表很快,接着用小表的数据在大表t_user里面匹配id,也使用了索引,故能加快查询
select a.id, a.email...where b.cid=3;
-- 看起来是left join,其实变成了inner join,查询过程和inner join一样
select a.* from student a left join