版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
教案授課教師部門課程名稱MySQL數(shù)據(jù)庫管理與應(yīng)用課次14,15,16,17,18,19單元標(biāo)題單元5查詢數(shù)據(jù)授課學(xué)時(shí)12學(xué)時(shí)授課班級(jí)授課時(shí)間上課地點(diǎn)合作教師日期節(jié)次教學(xué)目標(biāo)知識(shí)目標(biāo)1.熟練掌握使用SELECT語句查詢單個(gè)數(shù)據(jù)表中列數(shù)據(jù)的方法。2.熟練掌握使用SELECT語句查詢單個(gè)數(shù)據(jù)表中行數(shù)據(jù)的方法。3.熟練掌握對(duì)查詢結(jié)果進(jìn)行排序的方法。4.熟練掌握利用聚合函數(shù)對(duì)查詢結(jié)果進(jìn)行統(tǒng)計(jì)的方法。5.熟練掌握分組查詢的方法,理解HAVING與WHERE子句的區(qū)別。6.理解交叉連接、等值連接、自然連接之間的關(guān)系,熟練掌握使用連接查詢查詢多個(gè)數(shù)據(jù)表中數(shù)據(jù)的方法。7.掌握左外連接和右外連接查詢的方法。8.理解子查詢,掌握使用子查詢查詢數(shù)據(jù)的方法。能力目標(biāo)1.會(huì)進(jìn)行精確查詢和模糊查詢。2.會(huì)根據(jù)需要使用聚合函數(shù)進(jìn)行查詢結(jié)果的統(tǒng)計(jì)或匯總。3.會(huì)按照要求對(duì)查詢結(jié)果排序。4.會(huì)根據(jù)需要對(duì)查詢結(jié)果分組。5.會(huì)根據(jù)需要實(shí)現(xiàn)多表查詢。6.會(huì)實(shí)現(xiàn)子查詢。素質(zhì)目標(biāo)1.培養(yǎng)學(xué)生吃苦耐勞的品質(zhì)和精益求精的工匠精神。2.使學(xué)生理解數(shù)據(jù)庫的主要用途,培養(yǎng)學(xué)生主動(dòng)探索和自主學(xué)習(xí)的能力。3.通過以小組為單位學(xué)習(xí),培養(yǎng)學(xué)生的人際溝通能力和團(tuán)隊(duì)協(xié)作意識(shí)。教學(xué)重點(diǎn)1.用SELECT語句詢單個(gè)數(shù)據(jù)表的方法。2.利用聚合函數(shù)對(duì)查詢結(jié)果進(jìn)行統(tǒng)計(jì)的方法。3.分組查詢的方法。4.使用連接查詢查詢多個(gè)數(shù)據(jù)表中數(shù)據(jù)的方法。5.左外連接和右外連接查詢的方法。6.子查詢。教學(xué)難點(diǎn)1.分組查詢的方法。2.利用聚合函數(shù)對(duì)查詢結(jié)果進(jìn)行統(tǒng)計(jì)。3.外連接查詢的方法。4.子查詢。教學(xué)方法線上自學(xué),課堂理實(shí)一體化教學(xué)、項(xiàng)目式教學(xué),第二課堂拓展學(xué)習(xí)等。教學(xué)資源教材數(shù)字資源教材配套微課、PPT、數(shù)據(jù)庫建庫建表腳本、習(xí)題解答等;智慧職教平臺(tái):學(xué)習(xí)通平臺(tái):其他:教學(xué)環(huán)境配備有電腦、電子教室或投影儀、有線或無線網(wǎng)絡(luò)環(huán)境、黑板或白板等教學(xué)工具的計(jì)算機(jī)房或多媒體教室。MySQL、MySQLWorkbench或NavicatforMySQL等軟件。教學(xué)過程第14次課(任務(wù)1實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的單表查詢)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容學(xué)生活動(dòng)說明課前預(yù)習(xí)學(xué)生自由組合,4人一組,以小組為單位學(xué)習(xí)。學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、導(dǎo)入新課使用數(shù)據(jù)庫和表的主要目的是存儲(chǔ)數(shù)據(jù),以便在需要的時(shí)候進(jìn)行查詢、統(tǒng)計(jì)和輸出,數(shù)據(jù)庫的查詢是數(shù)據(jù)庫應(yīng)用中最核心和最常用的操作。在MySQL中,對(duì)數(shù)據(jù)庫的查詢使用SELECT語句,該語句是SQL的核心,具有十分強(qiáng)大的功能且使用靈活。使用SELECT語句既可以完成簡(jiǎn)單的單表查詢,也可以完成復(fù)雜的連接查詢和子查詢,其基本語法格式如下。SELECT[ALL|DISTINCT|DISTINCTROW]select_expr[,select_expr]…[FROMtable_references[PARTITIONpartition_list]][WHEREwhere_condition][GROUPBY{col_name|expr|position}[ASC|DESC],...[WITHROLLUP]][HAVINGwhere_condition][ORDERBY{col_name|expr|position}[ASC|DESC],...][LIMIT{[offset,]row_count|row_countOFFSEToffset}]二、新課講解任務(wù)1實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的單表查詢教師演示講解操作過程,介紹相關(guān)命令的用法。單表查詢是指僅涉及一個(gè)表的查詢。5.1.1選擇列最基本的SELECT語句僅有要返回的列和這些列的來源表,這種不使用WHERE子句的查詢稱為無條件查詢,也稱作投影查詢。1.查詢表中所有的列使用SELECT語句查詢表中所有的列時(shí),不必逐一列出列名,可用“*”通配符代替所有列名,但此時(shí)只能按照數(shù)據(jù)表中列的原有順序進(jìn)行排列?!纠}5.1】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢學(xué)生表xs中每位學(xué)生的信息。2.查詢表中指定的列許多情況下,用戶只對(duì)表中的部分列感興趣,可以使用SELECT語句查詢表中指定的列,各列名之間要以英文逗號(hào)分隔,列的顯示順序可以改變?!纠}5.2】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢學(xué)生表xs中每位同學(xué)的姓名、學(xué)號(hào)和專業(yè)名。3.查詢經(jīng)過計(jì)算的列SELECT子句中的列名列表可以是表達(dá)式,如例題5.3中用到了日期函數(shù)year(),用于輸出對(duì)列值計(jì)算后的值?!纠}5.3】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢學(xué)生表xs中每位同學(xué)的學(xué)號(hào)、姓名和年齡。4.消除重復(fù)行關(guān)鍵字DISTINCT可用于消除查詢結(jié)果中以某列為依據(jù)的重復(fù)行,以保證行的唯一性。DISTINCT關(guān)鍵字必須放在列名列表的前面,如果涉及多個(gè)列,則會(huì)對(duì)多個(gè)列進(jìn)行組合去重?!纠}5.4】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢選修了課程的學(xué)生的學(xué)號(hào)。5.限制返回的行數(shù)當(dāng)數(shù)據(jù)表中有很多行數(shù)據(jù)時(shí),一次性查詢出表中的全部數(shù)據(jù)會(huì)降低數(shù)據(jù)返回的速度??梢杂肔IMIT子句來限制查詢結(jié)果返回的行數(shù)。LIMIT子句可用于指定查詢結(jié)果從哪條記錄開始顯示多少條記錄,其基本語法格式如下。LIMIT[offset,]row_count|row_countOFFSEToffset【例題5.5】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢選修了課程的前6位學(xué)生的學(xué)號(hào),返回從第3條記錄開始的4條記錄。5.1.2選擇行教師演示講解操作過程,介紹相關(guān)命令的用法。當(dāng)要在表中查找出滿足某些條件的行時(shí),需要使用WHERE子句指定查詢條件,這種查詢稱為選擇查詢,其語法格式如下。WHERE<search_condition>其中,查詢條件可以是表達(dá)式比較、范圍比較、確定集合、模糊查詢、空值判斷和子查詢等表達(dá)式,其結(jié)果為TRUE、FALSE或UNKNOWN。1.表達(dá)式比較比較運(yùn)算符用于比較兩個(gè)表達(dá)式的值。比較運(yùn)算的語法格式如下。expression{=|<|<=|>|>=|<>}expression其中,expression是除TEXT、NTEXT和IMAGE類型外的表達(dá)式?!纠}5.6】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢軟件技術(shù)專業(yè)的學(xué)生的信息。當(dāng)需要通過WHERE子句指定一個(gè)以上的查詢條件時(shí),則需要使用邏輯運(yùn)算符AND、OR、XOR和NOT將其連成復(fù)合的邏輯表達(dá)式?!纠}5.7】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢軟件技術(shù)專業(yè)的男同學(xué)的信息。2.范圍比較當(dāng)要查詢的條件是某個(gè)值的范圍時(shí),可以使用關(guān)鍵字BETWEEN。BETWEEN用于檢查某個(gè)值是否在兩個(gè)值之間,其語法格式如下。expression[NOT]BETWEENexpression1ANDexpression2【例題5.8】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢2000年出生的學(xué)生的信息。3.確定集合IN運(yùn)算符用來查詢屬性值屬于指定集合的元組,主要用于表達(dá)子查詢,其語法格式如下。expression[NOT]IN(subquery|expression[,…n])【例題5.9】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找選修了課程號(hào)為“101”或“102”的同學(xué)的信息。4.模糊查詢當(dāng)不知道精確的值時(shí),可以使用LIKE關(guān)鍵字進(jìn)行部分匹配查詢,也稱模糊查詢。模糊查詢的一般語法格式如下。string_expression[NOT]LIKEstring_expression[ESCAPEescape_character]字符串常量可以包含表5-1所示的MySQL通配符。若要匹配用作通配符的字符,可用關(guān)鍵字ESCAPE,ESCAPEescape_character表示將字符escape_character作為實(shí)際的字符對(duì)待?!纠}5.10】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找所有王姓同學(xué)的學(xué)號(hào)和姓名;查詢姓名中第2個(gè)漢字是“長(zhǎng)”的同學(xué)的學(xué)號(hào)和姓名。5.空值判斷當(dāng)需要判定一個(gè)表達(dá)式的值是否為空值時(shí),可使用ISNULL關(guān)鍵字,其語法格式如下。expressionIS[NOT]NULL【例題5.11】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢沒有考試成績(jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。課堂小結(jié):教師針對(duì)學(xué)生實(shí)驗(yàn)中出現(xiàn)的典型問題進(jìn)行點(diǎn)評(píng),學(xué)生討論、查漏補(bǔ)缺。教師總結(jié)本次課學(xué)習(xí)的主要內(nèi)容。學(xué)生小組練習(xí),教師巡視指導(dǎo)學(xué)生小組練習(xí)課后拓展提升學(xué)生利用某種國(guó)產(chǎn)數(shù)據(jù)庫平臺(tái)(如達(dá)夢(mèng)數(shù)據(jù)庫等)在cjgl數(shù)據(jù)庫中完成本節(jié)課所學(xué)的查詢操作。課后作業(yè)教材習(xí)題5教學(xué)總結(jié)第15次課(任務(wù)1實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的單表查詢)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容說明課前預(yù)習(xí)學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、復(fù)習(xí)鞏固教師檢查學(xué)生對(duì)安裝、配置和卸載MySQL的掌握情況,通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固講解。二、導(dǎo)入新課三、新課講解任務(wù)1實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的單表查詢5.1.3對(duì)查詢結(jié)果進(jìn)行排序教師演示講解操作過程,介紹相關(guān)命令的用法。使用ORDERBY子句可以對(duì)查詢結(jié)果進(jìn)行排序,其語法格式如下。ORDERBY{col_name|expr|position}[ASC|DESC][,…n]【例題5.12】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,將軟件技術(shù)專業(yè)的學(xué)生按出生時(shí)間降序排列。5.1.4使用聚合函數(shù)查詢教師演示講解操作過程,介紹相關(guān)命令的用法。在SELECT語句中,可以利用聚合函數(shù)對(duì)查詢結(jié)果進(jìn)行統(tǒng)計(jì)。聚合函數(shù)也稱為統(tǒng)計(jì)函數(shù),主要用于對(duì)數(shù)據(jù)集合進(jìn)行統(tǒng)計(jì),返回單個(gè)計(jì)算結(jié)果,如總和、平均值、最大值、最小值、行數(shù),一般用于SELECT子句、HAVING子句和ORDERBY子句中。MySQL提供的聚合函數(shù)如表5-2所示。下面介紹幾個(gè)常用的聚合函數(shù)。1.SUM()和AVG()SUM()和AVG()分別用于求表達(dá)式中所有值的總和與平均值,忽略空值。其語法格式如下。SUM/AVG([ALL|DISTINCT]expression)【例題5.13】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢學(xué)號(hào)為“001101”的學(xué)生的總分和平均分。2.MAX()和MIN()MAX()和MIN()分別用于求表達(dá)式中所有值的最大值與最小值,忽略空值。其語法格式如下。MAX/MIN([ALL|DISTINCT]expression);【例題5.14】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢選修了課程號(hào)為“206”課程的學(xué)生的最高分和最低分。3.COUNT()COUNT()用于統(tǒng)計(jì)滿足條件的行數(shù)或總行數(shù),COUNT()函數(shù)對(duì)空值不進(jìn)行計(jì)算,但會(huì)對(duì)0進(jìn)行計(jì)算。其語法格式如下。COUNT({[ALL|DISTINCT]expression}|*)【例題5.15】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢學(xué)生的總?cè)藬?shù)。5.1.5分組統(tǒng)計(jì)查詢教師演示講解操作過程,介紹相關(guān)命令的用法。在SELECT語句中,可以利用GROUPBY子句和HAVING子句等實(shí)現(xiàn)分組查詢。1.GROUPBY子句使用GROUPBY子句可以將查詢結(jié)果按列或列的組合在行的方向上進(jìn)行分組或分組統(tǒng)計(jì),如對(duì)各個(gè)分組求總和、平均值、最大值、最小值、行數(shù),每組在列或列的組合上具有相同的聚合值。GROUPBY子句的語法格式如下。GROUPBY[ALL]group_by_expression[,…,n][WITH{CUBE|ROLLUP}]【例題5.16】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,將學(xué)生表xs中的數(shù)據(jù)按性別分組;查詢各專業(yè)的學(xué)生人數(shù);查詢每位學(xué)生的學(xué)號(hào)及其選課的數(shù)量。單獨(dú)使用GROUPBY子句時(shí),查詢結(jié)果只顯示每個(gè)分組的第一條記錄,在實(shí)際應(yīng)用中意義不大。因此,GROUPBY子句通常和聚合函數(shù)配合使用,以達(dá)到分組統(tǒng)計(jì)的目的。2.HAVING子句使用GROUPBY子句對(duì)數(shù)據(jù)進(jìn)行分組后,還可以使用HAVING子句對(duì)分組數(shù)據(jù)集合進(jìn)行篩選。HAVING子句支持WHERE子句中所有的操作符和語法?!纠}5.17】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢平均成績(jī)大于85的學(xué)生的學(xué)號(hào)及平均成績(jī)。在包含GROUPBY子句的查詢中,有時(shí)需要同時(shí)使用WHERE子句和HAVING子句,此時(shí)應(yīng)注意WHERE、GROUPBY及HAVING這3個(gè)子句的執(zhí)行順序及含義。首先,用WHERE子句篩選FROM關(guān)鍵字指定的數(shù)據(jù),將不符合WHERE子句中的條件的行剔除;然后,用GROUPBY子句對(duì)WHERE子句的查詢結(jié)果分組;最后,用HAVING子句對(duì)GROUPBY子句的分組結(jié)果進(jìn)行篩選?!纠}5.18】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢選課門數(shù)在3門以上且各門課程均及格的學(xué)生的學(xué)號(hào)及其總分。老師講解清楚WHERE子句和HAVING子句的區(qū)別。課堂小結(jié):教師針對(duì)學(xué)生實(shí)驗(yàn)中出現(xiàn)的典型問題進(jìn)行點(diǎn)評(píng),學(xué)生討論、查漏補(bǔ)缺。教師總結(jié)本次課學(xué)習(xí)的主要內(nèi)容。學(xué)生小組練習(xí),教師巡視指導(dǎo)學(xué)生小組練習(xí)學(xué)生小組練習(xí)課后拓展提升學(xué)生利用某種國(guó)產(chǎn)數(shù)據(jù)庫平臺(tái)(如達(dá)夢(mèng)數(shù)據(jù)庫等)在cjgl數(shù)據(jù)庫中完成本節(jié)課所學(xué)的查詢操作。課后作業(yè)教材習(xí)題5教學(xué)總結(jié)第16次課(任務(wù)1實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的單表查詢)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容學(xué)生活動(dòng)說明課前預(yù)習(xí)學(xué)生自由組合,4人一組,以小組為單位學(xué)習(xí)。學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、復(fù)習(xí)鞏固教師檢查學(xué)生對(duì)安裝、配置和卸載MySQL的掌握情況,通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固講解。二、導(dǎo)入新課三、新課講解任務(wù)1實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的單表查詢教師演示講解操作過程,介紹相關(guān)命令的用法。3.WITHROLLUP關(guān)鍵字WITHROLLUP關(guān)鍵字用來在所有記錄的最后加上一條記錄,該記錄是前面所有記錄的總和,起到總計(jì)的作用?!纠}5.19】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,進(jìn)行如下操作。(1)查找各專業(yè)的學(xué)生人數(shù),并生成一個(gè)學(xué)生總?cè)藬?shù)行。(2)查找各專業(yè)的學(xué)生人數(shù)和學(xué)生姓名,并生成一個(gè)學(xué)生總?cè)藬?shù)行。函數(shù)GROUP_CONCAT(name)用于顯示每個(gè)分組的所有name列的值。5.1.6用查詢結(jié)果生成新表教師演示講解操作過程,介紹相關(guān)命令的用法。使用CREATETABLE語句可以將通過SELECT語句查詢所得的結(jié)果保存到一個(gè)新建的表中,其語法格式如下。CREATETABLEnew_table[AS]SELECT*FROMtable;其中,new_table是要?jiǎng)?chuàng)建的新表名。【例題5.20】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,依據(jù)學(xué)生表xs創(chuàng)建軟件技術(shù)專業(yè)學(xué)生表rjxs1,其中包括學(xué)號(hào)、姓名和性別列。5.1.7合并結(jié)果表教師演示講解操作過程,介紹相關(guān)命令的用法。兩個(gè)或多個(gè)SELECT查詢的結(jié)果可以合并到一個(gè)表中,并且不需要對(duì)這些行進(jìn)行任何修改,但要求所有查詢結(jié)果中的列數(shù)和列的順序必須相同、數(shù)據(jù)類型必須兼容,這種操作稱為聯(lián)合查詢。聯(lián)合查詢常用于歸檔數(shù)據(jù),其運(yùn)算符為UNION,語法格式如下。{<queryspecification>|(<queryexpression>)}UNION[ALL]{<queryspecification>|(<queryexpression>)}[…n]其中,queryspecification和queryexpression都是SELECT查詢語句?!纠}5.21】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,新建軟件技術(shù)專業(yè)學(xué)生表rjxs、網(wǎng)絡(luò)技術(shù)專業(yè)學(xué)生表wlxs,分別存儲(chǔ)兩個(gè)專業(yè)的學(xué)生信息,表結(jié)構(gòu)與學(xué)生表xs相同,將這兩個(gè)表的數(shù)據(jù)合并到學(xué)生表xs中。執(zhí)行如下語句。USEcjgl;SELECT*FROMxsUNIONALLSELECT*FROMrjxsUNIONALLSELECT*FROMwlxs;執(zhí)行以上代碼后可以看到查詢結(jié)果中出現(xiàn)了重復(fù)的行。如果想去掉這些重復(fù)行,只需將上述代碼中的UNIONALL改成UNION即可。實(shí)驗(yàn)6人力資源管理數(shù)據(jù)庫的單表查詢(1)查找每位員工的所有信息。(2)查找所有名為John的員工的員工號(hào)、姓名、部門編號(hào)。(3)查找每位員工的員工號(hào)、姓名、部門編號(hào)、工作號(hào)、聘用日期、工資。(4)列出所有工資在6000~10000元的員工的員工號(hào)、姓名、部門編號(hào)和工資,并按照工資由高到低進(jìn)行排序。(5)求員工總?cè)藬?shù)。(6)求各個(gè)部門的員工人數(shù)。(7)計(jì)算員工的總收入和平均收入。(8)計(jì)算各個(gè)部門員工的總收入和平均收入。(9)找出各個(gè)部門員工的最高和最低工資。課堂小結(jié):教師針對(duì)學(xué)生實(shí)驗(yàn)中出現(xiàn)的典型問題進(jìn)行點(diǎn)評(píng),學(xué)生討論、查漏補(bǔ)缺。教師總結(jié)本次課學(xué)習(xí)的主要內(nèi)容。學(xué)生小組練習(xí),教師巡視指導(dǎo)學(xué)生小組練習(xí)學(xué)生小組練習(xí)學(xué)生小組練習(xí)課后拓展提升學(xué)生利用某種國(guó)產(chǎn)數(shù)據(jù)庫平臺(tái)(如達(dá)夢(mèng)數(shù)據(jù)庫等)在cjgl數(shù)據(jù)庫中完成本節(jié)課所學(xué)的查詢操作。課后作業(yè)教材習(xí)題5實(shí)驗(yàn)6人力資源管理數(shù)據(jù)庫的單表查詢教學(xué)總結(jié)第17次課(任務(wù)2實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的連接查詢)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容學(xué)生活動(dòng)說明課前預(yù)習(xí)學(xué)生自由組合,4人一組,以小組為單位學(xué)習(xí)。學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、復(fù)習(xí)鞏固教師檢查學(xué)生對(duì)安裝、配置和卸載MySQL的掌握情況,通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固講解。二、導(dǎo)入新課在關(guān)系數(shù)據(jù)庫中,表與表之間是有聯(lián)系的,所以在實(shí)際應(yīng)用中,經(jīng)常使用多表查詢。當(dāng)一個(gè)查詢涉及兩個(gè)以上的表時(shí),則該查詢稱為連接查詢。連接查詢中用來連接兩個(gè)表的條件叫作連接條件或連接謂詞,連接條件的一般語法格式如下。[<表1>.]<列名1><比較運(yùn)算符>[<表2>.]<列名2>其中,比較運(yùn)算符主要有=、>、<、>=、<=、<>。連接條件中的列名稱為連接字段。連接查詢的目的就是通過連接條件將多個(gè)表連接起來,以便從多個(gè)表中查詢數(shù)據(jù)。連接查詢是關(guān)系數(shù)據(jù)庫中最主要的查詢。在MySQL中,根據(jù)查詢方式的不同,連接主要分為交叉連接、內(nèi)連接、自身連接和外連接等。連接查詢的類型可以在SELECT語句的FROM子句中指定,也可以在WHERE子句中指定。在MySQL中,一般使用內(nèi)連接和外連接,它們的效率要高于交叉連接。三、新課講解任務(wù)2實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的連接查詢5.2.1交叉連接查詢教師演示講解操作過程,介紹相關(guān)命令的用法。交叉連接(CROSSJOIN)又稱笛卡兒連接,實(shí)際上是將兩個(gè)表進(jìn)行笛卡兒積運(yùn)算,結(jié)果表是由第1個(gè)表的每行與第2個(gè)表的每行拼接后形成的表,因此,結(jié)果表的行數(shù)等于兩個(gè)表的行數(shù)之積。交叉連接查詢的語法格式如下。SELECT查詢列表FROM表1CROSSJOIN表2;或SELECT查詢列表FROM<表1>,<表2>;【例題5.22】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,列出學(xué)生所有可能的選課情況。5.2.2內(nèi)連接查詢教師演示講解操作過程,介紹相關(guān)命令的用法。內(nèi)連接(INNERJOIN)主要通過設(shè)置連接條件的方式,移除查詢結(jié)果中某些數(shù)據(jù)行的交叉連接。也就是利用條件表達(dá)式來消除交叉連接的某些數(shù)據(jù)行。內(nèi)連接查詢的語法格式如下。SELECT查詢列表FROM<表1>[別名1]INNERJOIN<表2>[別名2]ON<連接條件表達(dá)式>[WHERE<條件表達(dá)式>];或SELECT查詢列表FROM<表1>[別名1],<表2>[別名2][,…]WHERE<連接條件表達(dá)式>[AND<條件表達(dá)式>];如通過INNERJOIN連接3個(gè)數(shù)據(jù)表的方法如下。SELECT*FROM(表1INNERJOIN表2ON表1.列名=表2.列名)INNERJOIN表3ON表1.列名=表3.列名1.等值連接查詢與非等值連接查詢當(dāng)連接運(yùn)算符為“=”時(shí),連接運(yùn)算稱為等值連接,其他情況則稱為非等值連接?!纠}5.23】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找每個(gè)學(xué)生以及選修的課程信息。2.自然連接查詢?nèi)粼诘戎颠B接中把目標(biāo)列中重復(fù)的值去掉,則該連接為自然連接?!纠}5.24】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找每個(gè)學(xué)生以及選修的課程信息。【例題5.25】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查詢學(xué)生王元選修的課程。當(dāng)進(jìn)行3個(gè)以上表的內(nèi)連接查詢時(shí),在FROM關(guān)鍵字后連續(xù)使用INNERJOIN或JOIN即可。通過INNERJOIN連接3個(gè)數(shù)據(jù)表的方法如下。SELECT*FROM(表1INNERJOIN表2ON表1.列名=表2.列名)INNERJOIN表3ON表1.列名=表3.列名【例題5.26】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找學(xué)號(hào)、姓名、選修的課程名及成績(jī)?!纠}5.27】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找選修了“C程序設(shè)計(jì)”課程且成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)、姓名、課程名及成績(jī)。5.2.3自身連接查詢教師演示講解操作過程,介紹相關(guān)命令的用法。連接操作不僅可以在兩個(gè)表之間進(jìn)行,也可以在一個(gè)表與其自身之間進(jìn)行,即將同一個(gè)表的不同行連接起來,這種連接稱為表的自身連接。自身連接是多表連接的一種特殊情況,可以看作一個(gè)表的兩個(gè)副本之間的連接。自身連接通常用于表中的數(shù)據(jù)有層次結(jié)構(gòu)的情形,如區(qū)域表、菜單表、商品分類表等。當(dāng)需要在同一個(gè)表內(nèi)進(jìn)行比較、查找部分重復(fù)的記錄或找出列的組合時(shí),可以使用自身連接。例如,在人力資源管理數(shù)據(jù)庫HR的員工表employees中有經(jīng)理、員工兩種身份,要查詢某個(gè)員工屬于哪個(gè)經(jīng)理的部門,而有的員工本身就是經(jīng)理,這時(shí)候就要用到自身連接。自身連接查詢的語法格式如下。SELECT查詢列表FROM<表1>[別名1]JOIN<表1>[別名2]ON<連接條件表達(dá)式>[WHERE<條件表達(dá)式>];課堂小結(jié):教師針對(duì)學(xué)生實(shí)驗(yàn)中出現(xiàn)的典型問題進(jìn)行點(diǎn)評(píng),學(xué)生討論、查漏補(bǔ)缺。教師總結(jié)本次課學(xué)習(xí)的主要內(nèi)容。學(xué)生小組練習(xí),教師巡視指導(dǎo)學(xué)生小組練習(xí)學(xué)生小組練習(xí)學(xué)生小組練習(xí)課后拓展提升學(xué)生利用某種國(guó)產(chǎn)數(shù)據(jù)庫平臺(tái)(如達(dá)夢(mèng)數(shù)據(jù)庫等)在cjgl數(shù)據(jù)庫中完成本節(jié)課所學(xué)的查詢操作。課后作業(yè)教材習(xí)題5教學(xué)總結(jié)第18次課(任務(wù)2實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的連接查詢)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容學(xué)生活動(dòng)說明課前預(yù)習(xí)學(xué)生自由組合,4人一組,以小組為單位學(xué)習(xí)。學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、復(fù)習(xí)鞏固教師檢查學(xué)生對(duì)安裝、配置和卸載MySQL的掌握情況,通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固講解。二、導(dǎo)入新課三、新課講解任務(wù)2實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的連接查詢5.2.4外連接查詢教師演示講解操作過程,介紹相關(guān)命令的用法。在一般的連接操作中,只有滿足連接條件的記錄才能作為結(jié)果輸出。但有時(shí)也需要使一個(gè)或兩個(gè)表中不滿足連接條件的記錄出現(xiàn)在結(jié)果中,這時(shí)就需要用到外連接。外連接查詢的語法格式如下。SELECT查詢列表FROM<表1>LEFT|RIGHT[OUTER]JOIN<表2>ON<表1.列1>=<表2.列2>;其中,OUTER關(guān)鍵字可以省略。外連接只能對(duì)兩個(gè)表進(jìn)行。外連接會(huì)先將連接的表分為基表和參考表,然后以基表為依據(jù)返回滿足和不滿足條件的記錄。外連接包括左外連接和右外連接。(1)左外連接(LEFTOUTERJOIN)是指結(jié)果表中除了包括滿足連接條件的行外,還包括左表的所有行,此時(shí)左表為基表,右表為參考表。(2)右外連接(RIGHTOUTERJOIN)是指結(jié)果表中除了包括滿足連接條件的行外,還包括右表的所有行,此時(shí)右表為基表,左表為參考表。【例題5.29】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找所有學(xué)生及他們選修的課程號(hào)信息,若學(xué)生未選修任何課程,也要輸出其信息?!纠}5.30】在學(xué)生成績(jī)管理數(shù)據(jù)庫cjgl中,查找選修課程的信息和所有開設(shè)的課程名。實(shí)驗(yàn)7人力資源管理數(shù)據(jù)庫中表的連接查詢和子查詢對(duì)于員工表employees和部門表departments,完成下列操作。(1)查找每位員工的基本信息和部門名稱。(2)查找IT部門收入在6000~10000元的員工的員工號(hào)、姓名和工資,并按照工資由高到低進(jìn)行排序。(3)求IT部門員工的平均收入。(4)求IT部門的員工人數(shù)。(5)查找比IT部門員工收入都高的員工的員工號(hào)、姓名和部門名稱。課堂小結(jié):教師針對(duì)學(xué)生實(shí)驗(yàn)中出現(xiàn)的典型問題進(jìn)行點(diǎn)評(píng),學(xué)生討論、查漏補(bǔ)缺。教師總結(jié)本次課學(xué)習(xí)的主要內(nèi)容。學(xué)生小組練習(xí),教師巡視指導(dǎo)學(xué)生小組練習(xí)課后拓展提升學(xué)生利用某種國(guó)產(chǎn)數(shù)據(jù)庫平臺(tái)(如達(dá)夢(mèng)數(shù)據(jù)庫等)在cjgl數(shù)據(jù)庫中完成本節(jié)課所學(xué)的查詢操作。課后作業(yè)教材習(xí)題5實(shí)驗(yàn)7人力資源管理數(shù)據(jù)庫中表的連接查詢和子查詢教學(xué)總結(jié)第19次課(任務(wù)3實(shí)現(xiàn)學(xué)生成績(jī)管理數(shù)據(jù)庫的子查詢)教學(xué)環(huán)節(jié)教學(xué)活動(dòng)主要內(nèi)容說明課前預(yù)習(xí)學(xué)生通過在線課程平臺(tái)預(yù)習(xí)本單元內(nèi)容。課中講練一、復(fù)習(xí)鞏固教師檢查學(xué)生對(duì)安裝、配置和卸載MySQL的掌握情況,通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固講解。二、導(dǎo)入新課可以使用另一個(gè)查詢的結(jié)果作為查詢條件的一部分(即在WHERE子句中包含一個(gè)形如SELECT…FROM…WHERE的查詢語句塊),作為查詢條件一部分的查詢稱為子查詢或嵌套查詢,包含子查詢的語句稱為父查詢或外層查詢。MySQL允許多層嵌套查詢,即一個(gè)子查詢中還可以嵌套其他子查詢。嵌套查詢可以讓多個(gè)簡(jiǎn)單的查詢構(gòu)成復(fù)雜的查詢,從而增強(qiáng)SQL的查詢能力。嵌套查詢是由里向外進(jìn)行的,即先進(jìn)行子查詢,然后將子查詢的結(jié)果用作其父查詢的查詢條件。子查詢通常與IN、E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)性化家庭出游路線規(guī)劃
- 全球化背景下的醫(yī)療技術(shù)出口策略分析
- 2025中國(guó)葛洲壩集團(tuán)市政工程限公司招聘77人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)移動(dòng)咪咕公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)電信山東濟(jì)寧分公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)大唐集團(tuán)海外投資限公司招聘33人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025東方電氣集團(tuán)(四川)物產(chǎn)限公司招聘1人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年貴州黔西南州貞豐縣招聘事業(yè)單位工作人員83人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年甘肅省市場(chǎng)監(jiān)督管理局直屬事業(yè)單位招聘21人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年浙江省麗水松陽縣事業(yè)單位赴外地招聘12人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 職業(yè)暴露習(xí)題及答案
- 燃?xì)庹羝?lián)合循環(huán)電廠汽輪機(jī)的運(yùn)行特點(diǎn)
- 小學(xué)數(shù)學(xué)-數(shù)字編碼教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 《電力工程電纜設(shè)計(jì)規(guī)范》
- 石化企業(yè)污水處理設(shè)施典型事故案例分析課件
- 2023-2024學(xué)年四川省樂山市峨眉山市三年級(jí)數(shù)學(xué)第一學(xué)期期末統(tǒng)考模擬試題含答案
- 2023初一語文現(xiàn)代文閱讀理解及解析:《貓》
- 2023年6月福建省普通高中學(xué)生學(xué)業(yè)基礎(chǔ)會(huì)考物理試卷篇
- 11管理英語1試卷-036開放大學(xué)考試題庫 答案
- 合理低價(jià)法投標(biāo)報(bào)價(jià)得分自動(dòng)計(jì)算表
- GB/T 20564.4-2022汽車用高強(qiáng)度冷連軋鋼板及鋼帶第4部分:低合金高強(qiáng)度鋼
評(píng)論
0/150
提交評(píng)論