MySQL写脚本的思考

需要考虑多个表格连接的时候,一条有用的思路:

常使用左连接,  table1 LEFT JOIN table2 ON table1.expr1 = table2.expr2;

首要考虑的就是连接生成的表格要是自己所需要的主键,因此table1.expr1要是生成表的主键,而且这个主键要是我们整个SQL文想得到的表的最长的那一列。

eg.一张所有学生在不同课程的成绩表,所有学生id为主键,每门课是一张表,而且选的学生不一样;

要得到以上的这张总表,就需要使用连接,以包含所有学生id的表为table1,然后去连接其他课程的成绩表,条件是 table1.学生id = table课程.学生id

因为是左链接,所以table1中的学生id永远都存在,而其他表格中有成绩的就显示成绩,没有成绩的就是null。

总而言之,写多个表连接的sql文时,基本按照这个连接思路。

猜你喜欢

转载自www.cnblogs.com/xuhaojun/p/9149791.html