




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八講第八講 數(shù)據(jù)查詢語句數(shù)據(jù)查詢語句SELECTSELECTSELECT語句基礎(chǔ)語句基礎(chǔ)1多表連接查詢多表連接查詢2嵌套查詢(子查詢)嵌套查詢(子查詢)3 查詢的基本思想v查詢是從數(shù)據(jù)表中檢索數(shù)據(jù)的方法。我們?cè)谶M(jìn)行查詢操作之前,必須要建立好了數(shù)據(jù)庫(kù)和表,最重要的是表中應(yīng)該有數(shù)據(jù)。 v我們這里介紹的查詢是在給定的數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)表中進(jìn)行的檢索,將符合條件的數(shù)據(jù)組成一個(gè)新的表(不管是單個(gè)數(shù)據(jù)項(xiàng)還是多個(gè)表內(nèi)容的組合)返回給查詢語句的用戶。 查詢語句的基本語法v使用SQL語句從數(shù)據(jù)庫(kù)中查詢數(shù)據(jù),并允許從一個(gè)或多個(gè)表中選擇一個(gè)或多個(gè)行或列。雖然 SELECT 語句的完整語法較復(fù)雜,但是其主要的子句可
2、歸納如下: SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC 查詢語句的基本語法vSELECT語句的完整語法比較復(fù)雜,SELECT是語句關(guān)鍵字,不可缺省,其它的可缺省子句包括:FROM子句、 WHERE子句、GROUP BY子句、 HAVING子句、 ORDER BY子句。v在SELECT語句之間還可以使用UNION,
3、EXCEPT和INTERSECT運(yùn)算符,將各個(gè)查詢的結(jié)果合并到一個(gè)結(jié)果集中。 SELECT子句設(shè)定查詢結(jié)果內(nèi)容 vSELECT子句的主要參數(shù)v查詢表中所有列SELECT子句中使用“*”v查詢表中某幾列SELECT子句中給出列名列表v給列名指定別名SELECT子句中列名后用as給出別名v查看結(jié)果的前若干條記錄使用TOP關(guān)鍵字v查看結(jié)果中不重復(fù)的記錄使用DISTINCT關(guān)鍵字v構(gòu)造計(jì)算列SELECT子句的主要參數(shù)vSELECT子句的作用是指定查詢返回的列,SELECT關(guān)鍵字后包含的參數(shù)很多,下面介紹主要的幾個(gè)。ALL:指定在結(jié)果集中包含所有行(可重復(fù)),此參數(shù)為默認(rèn)值,可省略;DISTINCT:指
4、定在結(jié)果集中只包含唯一行,即從結(jié)果集中去掉重復(fù)行;TOP expression PERCENTWITH TIES:返回結(jié)果集中的頭幾行,其中expression是一個(gè)指定的數(shù)目(如10);select_list:指定要顯示的列,各列之間用逗號(hào)分隔;*:指定返回FROM子句中所有表和視圖中的所有列。簡(jiǎn)單查詢使用select子句選取字段v輸出表中所有列使用“*”號(hào); SELECT * FROM studentsv輸出表中部分列指定部分列名,逗號(hào)分隔; SELECT sno,sname,dept FROM students v為結(jié)果集內(nèi)的列指定別名as 子句或“別名=列名”; SELECT sno
5、AS 學(xué)號(hào),sname AS 姓名,dept AS 所在系 FROM students v過濾結(jié)果集內(nèi)的重復(fù)行使用distinct關(guān)鍵字; SELECT DISTINCT dept AS 系名 FROM studentsv限制返回行數(shù)top 或top percent。 SELECT TOP 5 * FROM students SELECT TOP 20 PERCENT * FROM students構(gòu)造計(jì)算列 vSELECT后的子句中可以是表達(dá)式,因此可根據(jù)表中一些列的值計(jì)算出所需要的一些結(jié)果,這稱之為構(gòu)造計(jì)算列。 SELECT TOP 5 sno AS 學(xué)號(hào),sname AS 姓名, yea
6、r(getdate()-in_year+1 AS 年級(jí) FROM studentsWHERE子句設(shè)定查詢條件 v在實(shí)際應(yīng)用中我們是根據(jù)一定的條件來查找所需要的數(shù)據(jù),而不是表中所有記錄。因此WHERE子句在查詢語句顯得特別地重要。v包含WHERE子句SELECT語句基本格式如下: SELECT column_expression FROM table_name WHERE condition_expressionWHERE子句設(shè)定查詢條件v其中WHERE子句后的condition_expression是條件表達(dá)式,也就是查詢條件。v查詢條件就是一種邏輯表達(dá)式,只有那些使這個(gè)表達(dá)式的值為真值的記錄
7、才按照目標(biāo)列表達(dá)式column_expression指定的方式組成一個(gè)新記錄在結(jié)果中顯示。v因?yàn)楸磉_(dá)式的結(jié)果是一個(gè)邏輯值,因此多個(gè)條件可以用邏輯聯(lián)結(jié)詞NOT、OR、AND(邏輯非運(yùn)算、邏輯或運(yùn)算、邏輯與運(yùn)算)組合成復(fù)合條件。簡(jiǎn)單的查詢條件(僅包含比較運(yùn)算符)v簡(jiǎn)單的查詢條件是這種模式“列名 比較運(yùn)算符 值”,例如“sname=吳天天”,或“cj60”這種形式。 v查詢條件中的列名必須是表中存在的,不能有拼寫錯(cuò)誤,不要用單引號(hào)括起來;而對(duì)應(yīng)的值如果是字符和日期型數(shù)據(jù)就需要用單引號(hào)括起來。v演示例子:查找出2011年入學(xué)的學(xué)生信息由聯(lián)結(jié)詞構(gòu)成的復(fù)合查詢條件 v當(dāng)給定的查詢要求比較復(fù)雜時(shí),不能用簡(jiǎn)單
8、的查詢條件來表示時(shí),可以使用邏輯運(yùn)算符非、或、與(NOT、OR、AND)將多個(gè)簡(jiǎn)單條件組合成復(fù)合條件。v演示例子:查找出工程系2011年入學(xué)的學(xué)生信息使用BETWEENAND進(jìn)行范圍查詢 v當(dāng)要查詢的條件取值在某個(gè)范圍之內(nèi)時(shí),可使用BETWEENAND進(jìn)行范圍鎖定,例如課程成績(jī)?nèi)≈翟?0到84之間,用上面介紹的復(fù)合條件表示為 “cj=60 AND cj”、“=”、“=”、“”等)將字段值與這個(gè)單值進(jìn)行比較,構(gòu)成查詢的邏輯表達(dá)式?;诙嘀档淖硬樵?v如果子查詢的結(jié)果是多個(gè)值,比如在選課(sc)表中給定學(xué)號(hào)(sno)值查詢學(xué)生所選修的課程號(hào),則返回的結(jié)果是由多個(gè)課程號(hào)組成的多值信息。v對(duì)于返回多值
9、的子查詢,我們前面介紹了使用IN謂詞進(jìn)行判斷,另外還可以使用SOME、ANY和ALL加邏輯運(yùn)算符來構(gòu)成新的比較運(yùn)算實(shí)現(xiàn)查詢。vSOME或ANY代表多值中的一個(gè),而ALL代表多值中的所有。在嵌套子查詢中,使用SOME與ANY具有完全相同的功能。相關(guān)與無關(guān)子查詢v在嵌套查詢中,如果子查詢不能獨(dú)立運(yùn)行,依賴于父查詢的數(shù)據(jù)或結(jié)果,則這種子查詢稱之為相關(guān)子查詢。如果子查詢能夠獨(dú)立運(yùn)行,不依賴于父查詢的數(shù)據(jù)和結(jié)果,則這種子查詢稱之為無關(guān)子查詢。v前面我們介紹的子查詢基本上都是無關(guān)子查詢,這些子查詢可以獨(dú)立運(yùn)行,在父查詢運(yùn)行前先獲得了運(yùn)行結(jié)果。使用EXISTS的嵌套查詢 v在SELECT語句的WHERE子句中使用EXISTS謂詞的子查詢,只要子查詢的結(jié)果不為空則條件為真;相反地,使用NOT EXISTS的子查詢,則只要子查詢?yōu)榭談t條件為真。v使用EXISTS謂詞的子查詢結(jié)果其內(nèi)容并不重要,子查詢結(jié)果記錄的多少也不重要,只要區(qū)分結(jié)果中有和無記錄即可。v相關(guān)子查詢一般是
溫馨提示
- 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. 人人文庫(kù)網(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òu)服務(wù)合同范本
- 農(nóng)村燃?xì)獍惭b合同范例
- 協(xié)助寵物國(guó)際托運(yùn)合同范本
- 農(nóng)田租賃合同范本
- 專利轉(zhuǎn)讓入股合同范本
- 養(yǎng)魚合作轉(zhuǎn)讓合同范本
- 公版采購(gòu)合同范本
- 單位解聘教師合同范本
- 買賣中介公司合同范本
- 人教版小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)教案
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- 新版人音版小學(xué)音樂一年級(jí)下冊(cè)全冊(cè)教案
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)全面
- MOOC 跨文化交際通識(shí)通論-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課答案
- 常用液壓元件型號(hào)對(duì)照表230
- 項(xiàng)目章程模板范文
- 泰山產(chǎn)業(yè)領(lǐng)軍人才工程系統(tǒng)
- 輪扣架支模體系材料量計(jì)算
- 主題班會(huì)教案《讀書好讀好書好讀書》班會(huì)方案
- 食物鏈和食物網(wǎng)課件(共18張PPT)
評(píng)論
0/150
提交評(píng)論