自连接 实例
SELECT * FROM student_grade;
select t1.num,t1.name,t1.chinese,t2.math,t3.english from?
(SELECT a.num,a.name,a.sex,b.grade as chinese FROM student_grade as a
inner join student_grade as b?
on a.num = b.num and a.course = b.course
where b.course = '語文') as t1,
(SELECT a.num,a.name,a.sex,b.grade as math FROM student_grade as a
inner join student_grade as b?
on a.num = b.num and a.course = b.course
where b.course = '數學') as t2,
(SELECT a.num,a.name,a.sex,b.grade as english FROM student_grade as a
inner join student_grade as b?
on a.num = b.num and a.course = b.course
where b.course = '英語') as t3
select t1.num,t1.name,t1.chinese,t2.math,t3.english from?
(SELECT a.num,a.name,a.sex,b.grade as chinese FROM student_grade as a
inner join student_grade as b?
on a.num = b.num and a.course = b.course
where b.course = '語文') as t1,
(SELECT a.num,a.name,a.sex,b.grade as math FROM student_grade as a
inner join student_grade as b?
on a.num = b.num and a.course = b.course
where b.course = '數學') as t2,
(SELECT a.num,a.name,a.sex,b.grade as english FROM student_grade as a
inner join student_grade as b?
on a.num = b.num and a.course = b.course
where b.course = '英語') as t3
where t1.num = t2.num and t2.num = t3.num;
原表
1 01 張三 男 語文 81 2 01 張三 男 數學 82 3 01 張三 男 英語 83 4 02 李四 男 語文 71 5 02 李四 男 數學 72 6 02 李四 男 英語 73 7 03 小紅 女 語文 74 8 03 小紅 女 數學 75 9 03 小紅 女 英語 76 10 04 小明 男 語文 84 11 04 小明 男 數學 85 12 04 小明 男 英語 86
效果
01 張三 81 82 83 02 李四 71 72 73 03 小紅 74 75 76 04 小明 84 85 86
總結
- 上一篇: 英语笔记:词组句子:0906
- 下一篇: 英语笔记:词组句子:0812