SQL JOIN用法示例

☆樱花仙子☆ 提交于 2020-03-15 22:36:17

现在有两张表,第一张表有学生姓名,语文,数学,英语成绩,数据量46万。第二张表有学生姓名,物理,化学,政治成绩,数据量10万。

1. 找出既参加了table1,也参加了table2的考试的学生的数学和物理成绩:

SELECT achievement_1.name, achievement_1.math, achievement_2.physics
FROM achievement_1
INNER JOIN achievement_2
ON achievement_1.name = achievement_2.name
ORDER BY achievement_1.name;

SELECT achievement_1.name, achievement_1.math, achievement_2.physics
FROM achievement_1, achievement_2
WHERE achievement_1.name = achievement_2.name;

结果:

 2. 现在想找出table1中所有学生的数学成绩,以及他的物理成绩,如果有的话。

SELECT achievement_1.name, achievement_1.math, achievement_2.physics
from achievement_1
LEFT JOIN achievement_2
ON achievement_1.name = achievement_2.name
ORDER BY achievement_1.name;

部分结果:

 

 一开始没有建立索引,查询了几分钟都没结果。建立了索引之后,瞬间出结果。索引:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!