【正文】
1 9802 MongKok Yaumetei T3 自然接合 9801 Peter MongKok 9802 Mary Yaumetei id T4 相同的 id 52 MySQL 4 學校規(guī)定每個學生都須要學習一件樂器 。 tables: STUDENT amp。 MUSIC 共同欄: 學生編號 id 欄名 類型 欄寬 內(nèi)容 id 數(shù)字 4 學生編號 type 字符 10 樂器名稱 MUSIC 實例:樂器班 53 MySQL 4 Music id 9801 type Student 9801 id name class 9801 接合的結(jié)果 id name class type 相同的 id 自然 接合 例 25 列出所有學生的 名字 及 所學習的樂器名稱。 自然接合 54 MySQL SELECT , , , FROM student s, music m WHERE = ORDER BY class, name 4 c l as s n am e id t yp e1A A a r on 9812 P ia n o1A B obby 9811 F lu t e1A G ig i 9824 R e c or de r1A J ill 9820 P ia n o1A J oh n n y 9803 V iol in1A L u ke 9810 P ia n o1A M a r y 9802 F lu t e: : : :結(jié)果 例 25 列出所有學生的 名字 及 所學習的樂器 名稱。 自然接合 55 MySQL 例 26 求出 每班 學習 鋼琴 的學生數(shù)目。 4 三部分 : (1) 自然接合 : 以 id 來接合 (2) 條件: =Piano (3) 群組: GROUP BY class 自然接合 56 MySQL 4 Music Student 接合結(jié)果 自然接合 條件 = Piano 例 26 自然接合 Group By class 群組 57 MySQL 例 26 求 每班 學習 鋼琴 的學生數(shù)目 SELECT , COUNT(*) FROM student s, music m WHERE = AND =Piano GROUP BY class ORDER BY class 4 c las s c n t1A 41B 21C 1結(jié)果 自然接合 58 MySQL 外接合 是 自然接合 再加上 沒有配合 的部分。 4 外接合 (1) 先求出自然接合 方法: (2) 再求出沒有配合 (3) 把兩部分聯(lián)合起來 59 MySQL 例 27 列出 尚未選擇 樂器的學生名字。 (即沒有相配 ) 4 Music id type Student 9803 id name class 外接合 沒有配合 60 MySQL 例 27 列出 尚未選擇 樂器的學生名字。 (即沒有相配 ) SELECT class, name, id FROM student WHERE id NOT IN ( SELECT id FROM music ) ORDER BY class, name 4 結(jié)果 c l as s n am e id1A M a n dy 98211B K e n n y 98141B T obe 98051C E dm on d 98181C G e or g e 9817: : :外接合 61 MySQL 例 28 列出一份名單,去查核所有 學生學習的樂器 。 名單須 包括尚未參加樂器班 的學生名字。 (即外接合 ) 4 外接合 62 MySQL 4 自然接合 沒有相配 外接合 例 28 外接合 63 MySQL SELECT , , , FROM student s, music m WHERE = 4 UNION SELECT class, name, id, FROM student WHERE id NOT IN ( SELECT id FROM music ) ORDER BY 1, 2 例 28 外接合 沒有配合 自然接合 64 MySQL c l as s n am e id t yp e1A A a r on 9812 P ia n o1A B obby 9811 F lu t e1A G ig i 9824 R e c or de r1A J ill 9820 P ia n o1A J oh n n y 9803 V iol in1A L u ke 9810 P ia n o1A M a n dy 98211A M a r y 9802 F lu t e1A P e t e r 9801 P ia n o1A R on 9813 G u it a r1B E ddy 9815 P ia n o1B J a n e t 9822 G u it a r1B K e n n y 98141B K it t y 9806 R e c or de r: : : :外接合 4 空白 c las s n am e id1A M a n dy 98211B K e n n y 98141B T obe 98051C E dm on d 98181C G e or g e 9817: : :沒有相配 c l as s n am e id t yp e1A A a r on 9812 P ia n o1A B obby 9811 F lu t e1A G ig i 9824 R e c or de r1A J ill 9820 P ia n o1A J oh n n y 9803 V iol in1A L u ke 9810 P ia n o1A M a r y 9802 F lu t e: : : :自然接合 外接合