《多表查詢》教學(xué)設(shè)計(jì)
廣州市二中 張玉蓮
[教學(xué)對(duì)象分析]:
1.學(xué)生學(xué)過select 部分語句,對(duì)FROM 子句有一定的理論認(rèn)識(shí)和上機(jī)的經(jīng)驗(yàn)。
2.高中二年級(jí)的學(xué)生,功課壓力大,喜歡輕松學(xué)習(xí)計(jì)算機(jī),又不太愿意聽教師講解;還會(huì)衡量一節(jié)課的教學(xué)容量。所以將查詢表單設(shè)計(jì)成有實(shí)際意義的上學(xué)期期末考試成績統(tǒng)計(jì)表xuesheng,激發(fā)學(xué)生主動(dòng)學(xué)習(xí)的興趣,在講解內(nèi)部連接的基礎(chǔ)上讓學(xué)生探究外部連接的特點(diǎn)。
[教學(xué)內(nèi)容]:
本節(jié)課教材采用廣州市教研室編寫的《廣州市信息技術(shù)教育課程〈網(wǎng)絡(luò)·數(shù)據(jù)庫〉》,具體為教材第六章第二節(jié)——多表查詢,是《普通高中技術(shù)課程標(biāo)準(zhǔn)》選修內(nèi)容之一。該節(jié)內(nèi)容包含內(nèi)部連接、左外部連接、右外部連接和完全外部連接四種連接方式的介紹,包括它們的語法格式、功能特點(diǎn)、應(yīng)用及上機(jī)操作,用時(shí)2課時(shí),本教學(xué)設(shè)計(jì)以第一課時(shí)為例講解內(nèi)部連接,學(xué)生自主探討左外部連接;第二課時(shí)讓學(xué)生在第一課時(shí)的基礎(chǔ)上自主探討右外部連接和完全外部連接,是在講完單表的基本查詢之后,提出的多表查詢內(nèi)容。
教學(xué)重點(diǎn):掌握內(nèi)部連接、左外部連接兩種多表查詢方式的語法格式及應(yīng)用上的區(qū)別。
教學(xué)難點(diǎn):理解在不建新表的情況下,兩表如何連接成一個(gè)新表;如何利用不同的查詢方式去解決實(shí)際問題。
[教學(xué)目標(biāo)]:
1. 認(rèn)知領(lǐng)域:
① 理解多表查詢是屬于前面學(xué)過的FROM 子句,是SELECT查詢語句的一種基本結(jié)構(gòu);
② 掌握多表查詢中內(nèi)、外部連接的語法功能和作用;
③ 對(duì)比分析多表查詢中內(nèi)部連接與左外部連接的區(qū)別與聯(lián)系,以及它對(duì)查詢結(jié)果的影響;
④ 學(xué)會(huì)應(yīng)用各種連接的特點(diǎn)來解決實(shí)際問題。
2.操作領(lǐng)域:
熟悉內(nèi)部連接、外部連接的各種上機(jī)操作、結(jié)果的驗(yàn)證,進(jìn)一步熟悉SELECT查詢語句上機(jī)注意事項(xiàng)。
3. 情感領(lǐng)域:
由于多表查詢是對(duì)前面SELECT¼¼FROM 語句中FROM 子句的擴(kuò)充,是數(shù)據(jù)庫查詢優(yōu)勢的明顯體現(xiàn)之一,讓學(xué)生增強(qiáng)對(duì)SQL 學(xué)習(xí)的興趣;數(shù)據(jù)庫和表單全改為學(xué)生自己的期末考試成績,平時(shí)少看到這些,現(xiàn)在可以隨心所欲的查詢,以增查詢的欲望,增強(qiáng)學(xué)習(xí)興趣;同時(shí),學(xué)生自己在教師講解內(nèi)部連接INNER JOIN的基礎(chǔ)上尋找左外部連接的特點(diǎn)、區(qū)別,使學(xué)生獲得一定程度上的成就感,及培養(yǎng)積極探索、實(shí)事求是的科學(xué)態(tài)度,間接獲取學(xué)習(xí)方法的體驗(yàn)。
[教學(xué)策略方法]:
以任務(wù)及自我評(píng)價(jià)來驅(qū)動(dòng),教師講授及學(xué)生上機(jī)操作、自主探尋相結(jié)合的學(xué)習(xí)方法。
[教學(xué)媒體]:
背投一臺(tái),教學(xué)廣播網(wǎng)及每人一臺(tái)計(jì)算機(jī)。
[教學(xué)過程]:
(一) 新課引入
1. 復(fù)習(xí):
Select ¼From¼(單表查詢及表使用別名):
格式:Select 字段名表 from 表名 as 別名
查詢xuesheng數(shù)據(jù)庫中表單“成績2班”(截取部分記錄)的部分列,產(chǎn)生一個(gè)新的表(如下表)。用課件展示:
表:成績2班學(xué)號(hào)班別語文數(shù)學(xué)英語物理x化學(xué)x綜合492114125114838680502113123109976271512122118114978487562100101103686970ß產(chǎn)生(表名使用別名a)學(xué)號(hào)語文數(shù)學(xué)英語49114125114501131231095112211811456100101103在Query Analyzer中鍵入SQL語句:
select 學(xué)號(hào),語文,數(shù)學(xué),英語 from 成績2班 as a
執(zhí)行查詢得到上表(產(chǎn)生的新表)
2. 提出問題:
在實(shí)際應(yīng)用中,往往從單表中獲取我們所需要的信息有些美中不足,在不重新建立新表的基礎(chǔ)上,能否從多個(gè)有關(guān)聯(lián)的關(guān)系中獲取我們所需要的信息——查詢就需要涉及到對(duì)多個(gè)表的操作。例如:在上面數(shù)據(jù)庫xuesheng 中除了記錄2班學(xué)生成績的“成績2班”表(見上表)外,還有記錄2班學(xué)籍的“gao202”表(部分記錄見下頁表):能否從兩個(gè)表通過查詢產(chǎn)生一個(gè)如下新表(見下圖表)?
答案是肯定的,請(qǐng)把教材翻到88頁,看新課《6.2 多表查詢》。
(二) 新課講授
1.內(nèi)部連接 INNER JOIN
語法格式:FROM <表1> INNER JOIN <表2> ON <條件>
例:在xuesheng 數(shù)據(jù)庫中含有“成績2班”和“gao202”兩個(gè)表!俺煽2班”記錄2班學(xué)生的成績,其中含有學(xué)號(hào)、班別及各科成績等字段內(nèi)容;“gao202”記錄2班學(xué)生的學(xué)籍,其中只含有學(xué)號(hào)、姓名等字段,F(xiàn)要求查詢2班學(xué)生的學(xué)號(hào)、姓名及語文、數(shù)學(xué)、英語三科的成績等信息。
執(zhí)行:
SELECT A.學(xué)號(hào),姓名,語文,數(shù)學(xué),英語
FROM gao202 INNER JOIN 成績2班 AS A ON gao202.學(xué)號(hào)=A.學(xué)號(hào)
演示:在Query Analyzer 查詢結(jié)果,并與原表情況對(duì)比。
分析查詢結(jié)果:原表“gao202”除含有2班學(xué)號(hào)為“1——51”號(hào)同學(xué)的學(xué)號(hào)、姓名外,還含有4個(gè)姓名為“掛籍”、學(xué)號(hào)分別為“52、53、54、55”的記錄,原表2“成績2班”除含有學(xué)號(hào)為“1——51”號(hào)同學(xué)的學(xué)號(hào)、各科成績外,還含有學(xué)號(hào)為“56、57、58”三個(gè)成績記錄,查詢后得到的新表只含有學(xué)號(hào)為“1——51”號(hào)同學(xué)的記錄,原表1中“52、53、54、55”和原表2中“56、57、58”這些記錄沒出現(xiàn)。兩個(gè)表如何連接的?
展示:動(dòng)畫演示內(nèi)部連接的機(jī)理(用動(dòng)畫課件作如下展示)。
上機(jī):學(xué)生上機(jī)練習(xí):練習(xí)紙上例題。先查詢表1“gao202”和表2“成績2班”,并留意表中記錄數(shù);再執(zhí)行上述內(nèi)部連接查詢語句。驗(yàn)證內(nèi)部查詢的機(jī)理。