現在有兩張表,第一張表有學生姓名,語文,數學,英語成績,資料量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;
部分結果:

一開始沒有建立索引,查詢了幾分鐘都沒結果,建立了索引之后,瞬間出結果,索引:

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/70575.html
標籤:MySQL
