MySQL的联表查询
首选:分析查询的字段来自哪些表
进而:确定交集
然后:确定判断的条件
比如:从student表 和 result表 查学号、考试名称、学时、考试日期、考试成绩
表1:
学号 | 考试名称 | 学时 |
---|---|---|
1001 | 高等数学-1 | 110 |
1002 | 高等数学-2 | 110 |
1003 | 高等数学-3 | 11 |
表2:
学号 | 考试日期 | 考试成绩 |
---|---|---|
1001 | 2013-11-11 | 94 |
1002 | 2013-10-5 | 74 |
1003 | 2013-5-6 | 85 |
1004 | 2011-2-6 | 99 |
完整代码:
SELECT table_2.`学号`,`考试名称`,`学时`,`考试日期`,`考试成绩`
FROM `表1` AS table_1
INNER JOIN `表2` AS table_2
ON table_1.`学号` = table_2.`学号``表2``表2` --确定交集
效果:(注意:表1是3行;表2是4行。就因为表1和别2的学号中,1004不匹配,所以表2的第4行不能匹配,取交集!所以为3行)
学号 | 考试名称 | 学时 | 考试日期 | 考试成绩 |
---|---|---|---|---|
1001 | 高等数学-1 | 110 | 2013-11-11 | 94 |
1002 | 高等数学-2 | 110 | 2013-10-5 | 74 |
1003 | 高等数学-3 | 100 | 2013-5-6 | 85 |