【正文】
ses GROUP BY product_id。(2)可以對分組后的行使用聚集函數(shù),聚集函數(shù)會統(tǒng)計每組中的值,對于每組分別統(tǒng)計后返回一個值 例:SELECTproduct_type_id,BYCOUNT(ROWID)FROMBYproductsGROUP product_type_id。注意:product_type_idORDER a)如果查詢中使用了聚集函數(shù),被查詢的列未使用聚集函數(shù)處理,那么這些列必須出現(xiàn)在GROUP BY子句后,否則,會提示ORA00937錯誤b)不能使用聚集函數(shù)作為WHERE子句的篩選條件,否則,會提示ORA00934錯誤c)可以使用HAVING子句過濾分組后的行SELECT...FROM...WHERE GROUP BY...HAVING...ORDER BY...。(GROUP BY使用時可以不使用HAVING,但是使用HAVING時必須有GROUP BY才有意義)(3)同時使用WHERE, GROUP BY和HAVINGa)首先,執(zhí)行WHERE篩選掉不符合條件的行 b)然后,將符合條件的行使用GROUP BY進(jìn)行分組 c)最后,使用HAVING對分組統(tǒng)計的結(jié)果進(jìn)行再次篩選 例:SELECT product_type_id, AVG(price)FROM productsWHERE price 15GROUP BY product_type_id HAVING AVG(price) 13 ORDER BY product_type_id。表的約束條件?目的:確保表中數(shù)據(jù)的完整性。常用的約束類型: 主鍵約束(PRIMARY KEY):要求主鍵列數(shù)據(jù)唯一,并且不允許為空 非空約束(NOT NULL):指定的列的值不允許為空唯一鍵約束(UNIQUE):要求該列唯一,允許為空,但只能出現(xiàn)一個空值檢查約束(CHECK):指定表中一列或多列可以接受的數(shù)據(jù)值格式 默認(rèn)約束(DEFAULT):指定某列的默認(rèn)值外鍵約束(FOREIGN KEY):用于建立和加強(qiáng)兩個表數(shù)據(jù)之間連接的一列或多列。通過將表中的主鍵列添加到另一個表中??梢詣?chuàng)建兩個表之間的連接。這個主鍵的列就稱為第二個表的外鍵。外鍵約束就可以確保添加到外鍵表中的任何行都在主表中都存在相應(yīng)的行多表查詢?不同的數(shù)據(jù)存儲在不同的表中,通常要查詢多張表才能找到需要的數(shù)據(jù)例程: SELECT , FROM products, product_types WHERE= AND = 3。products表和product_types表相關(guān)字段會用在SELECT語句及WHERE子句上,可以給表起別名,提高代碼可讀性、降低書寫難度 例程:SELECT , FROM products p, product_types pt WHERE = AND = 3 注意:如果查詢兩張表,并且沒有定義連接條件,那么查詢的結(jié)果集是兩表相乘的結(jié)果,這樣的情況稱之為笛卡爾乘積??偨Y(jié):多表查詢WHERE時,連接次數(shù)=查詢時連接表的數(shù)量1常見的三種連接類型:內(nèi)連接:內(nèi)連接返回的行只有滿足連接條件才會返回。如果連接條件的列中有NULL值,那么該行則不會返回 外連接:外連接返回的行滿足連接條件,也包括在連接條件的列包含空值的行自連接:連接的表為同一張表子查詢?子查詢是嵌入到另一個SELECT語句中的一個SELECT語句。通過使用子查詢,可以使用簡單的語句組成強(qiáng)大的語句。當(dāng)需要從表中選擇行,而選擇條件卻取決于該表自身中的數(shù)據(jù)時,子查詢非常有用。單行子查詢:(1)可以將另外一個查詢作為WHERE子句的子查詢例:查詢尾名是‘Brown’的首名和尾名SELECT first_name, last_name FROM customersWHERE customer_id =(SELECT customer_id FROM customers WHERE last_name = 39。Brown39。)。(2)在單行子查詢還可以使用其他比較運(yùn)算符,如、= 例:查詢價格大于平均價格的商品編號、名稱及價格WHERE子句中使用,以及子查詢中使用AVG()聚集函數(shù)SELECT product_id, name, price FROM products WHERE price (SELECT AVG(price)FROM products)。(3)在HAVING子句中使用子查詢HAVING是在分組統(tǒng)計后用于過濾行,同樣在HAVING子句后面可以跟子查詢。單行子查詢將返回結(jié)果用于HAVING子句過濾分組統(tǒng)計的行例如:查詢平均價格小于最大平均值的商品編號及平均值SELECT product_type_id, AVG(price)FROM products GROUP BY product_type_id HAVING AVG(price)分頁查詢?可以通過ROWNUM來實(shí)現(xiàn)。序列?序列是一個數(shù)據(jù)庫對象,用于生成一系列的整數(shù)。索引?索引是與表關(guān)聯(lián)的可選結(jié)構(gòu)??梢詣?chuàng)建索引以加快對表執(zhí)行SQL語句的速度。就像書的索引可以幫助我們更快速的查找信息一樣,Oracle中的索引也提供了一種更快地訪問表數(shù)據(jù)的途徑。視圖?視圖是基于一張表或多張表或另外一個視圖的邏輯表。視圖不同于表,視圖本身不包含任何數(shù)據(jù)。表是實(shí)際獨(dú)立存在的實(shí)體,是用于存儲數(shù)據(jù)的基本結(jié)構(gòu)。而視圖只是一種定義,對應(yīng)一個查詢語句。視圖的數(shù)據(jù)都來自于某些表,這些表被稱為基表。數(shù)據(jù)庫中只在數(shù)據(jù)字典中存儲對視圖的定義。第五篇:ORACLE數(shù)據(jù)庫工作總結(jié)20142015學(xué)第一學(xué)期ORACLE教學(xué)工作總結(jié)班級:13高軟班數(shù)據(jù)庫技術(shù)是計算機(jī)科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,也是應(yīng)用最為廣泛的技術(shù)之一,它已經(jīng)成為計算機(jī)信息系統(tǒng)與應(yīng)用的核心技術(shù)和重要基礎(chǔ)。所以在學(xué)習(xí)這門課時,注重學(xué)生實(shí)際操作能力,安排了理論與上機(jī)操作相結(jié)合。以下是我的工作總結(jié):課前準(zhǔn)備:備好課。認(rèn)真學(xué)習(xí)貫徹教學(xué)大綱,鉆研教材。了解教材的基本思想、基本概念、結(jié)構(gòu)、重點(diǎn)與難點(diǎn),掌握知識的邏輯。了解學(xué)生原有的知識技能的質(zhì)量,他們的興趣、需要、方法、習(xí)慣,學(xué)習(xí)新知識可能會有哪些困難,采取相應(yīng)的措施??紤]教法,解決如何把已掌握的教材傳授給學(xué)生,包括如何組織教學(xué)、如何安排每節(jié)課的活動。課堂上的情況。組織好課堂教學(xué),關(guān)注全體學(xué)生,注意信息反饋,調(diào)動學(xué)生的注意力,使其保持相對穩(wěn)定性。同時,激發(fā)學(xué)生的情感,使他們產(chǎn)生愉悅的心境,創(chuàng)造良好的課堂氣氛,課堂語言簡潔明了,課堂提問面向全體學(xué)生,注意引發(fā)學(xué)生學(xué)習(xí)的興趣,課堂上講練結(jié)合,布置好課外作業(yè),減輕學(xué)生的負(fù)擔(dān)。上機(jī)操作情況。讓學(xué)生復(fù)習(xí)操作上節(jié)課的學(xué)習(xí)內(nèi)容,布置一定的作業(yè),做到每個學(xué)生的每個SQL語句,每個操作抖完全掌握。總之,作為一名教師,教學(xué)是我的基本工作,而教與學(xué)是一個良性互動的過程,在教中學(xué),在學(xué)中教,才能實(shí)現(xiàn)自己在業(yè)務(wù)上的進(jìn)步與飛躍。實(shí)施素質(zhì)教育對教師的素質(zhì)要求更高,在今后的教育教學(xué)中,我將嚴(yán)格要求自己,努力工作,發(fā)揚(yáng)優(yōu)點(diǎn),開拓進(jìn)取,為教育事業(yè)奉獻(xiàn)自己的力量。