SQL語言查詢技術(shù)_第1頁
SQL語言查詢技術(shù)_第2頁
SQL語言查詢技術(shù)_第3頁
SQL語言查詢技術(shù)_第4頁
SQL語言查詢技術(shù)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

SQL語言查詢技術(shù)5.1.1SQL語言概述1、概念SQL是結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)的簡稱,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴展名。

2、發(fā)展歷史1974年,在IBM公司圣約瑟研究實驗室研制的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEMR中,使用SEQUEL語言(由BOYCE和CHAMBERLIN提出),后來在SEQUEL的基礎(chǔ)上發(fā)展了SQL語言。3、語言特點一體化:SQL集數(shù)據(jù)定義DDL、數(shù)據(jù)操縱DML和數(shù)據(jù)控制DCL于一體,可以完成數(shù)據(jù)庫中的全部工作。使用方式靈活:它具有兩種使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主語言中使用。非過程化:只提操作要求,不必描述操作步驟,也不需要導(dǎo)航。使用時只需要告訴計算機“做什么”,而不需要告訴它“怎么做”。語言簡潔,語法簡單,好學(xué)好用:在ANSI標(biāo)準(zhǔn)中,只包含了94個英文單詞,核心功能只用6個動詞,語法接近英語口語。5.1.2SELECT-SQL查詢命令

SQL語句主要內(nèi)容SELECT列表項FROM子句INTO和TO子句WHERE子句GROUPBY子句ORDERBY子句UNION子句SELECT列表項FROM子句用于指明查詢輸出的項目,可以是字段、表達式。利用表達式可以查詢表中未直接存儲但可以通過計算出來的結(jié)果表達式可以為變量、常量、函數(shù)及它們的組合,特別是字段函數(shù)及其組合可以實現(xiàn)功能十分強大的查詢和統(tǒng)計操作指明被查詢的自由表、數(shù)據(jù)庫表或試圖名,及其之間的聯(lián)接狀況SELECT列表項和FROM子句是每個每個SQL查詢語句所必須的,其他子句則是根據(jù)需要可選SELECT*

FROM*WHERE子句指明查詢的連接條件或篩選條件jsjh,jsxm,glFROMjs;WHERE

gl>=10andgl<=15;(查詢工齡在10~15之間的教師的工號、姓名、年齡)滿足條件的查詢結(jié)果不止一個時,在SELSCT列表項中若有DISTINCT可選項,則可消除查詢結(jié)果中的重復(fù)項SELECTDISTINCTzydhFROMxs

(查詢學(xué)生中所有的專業(yè)代號,重名的專業(yè)代號只顯示一次)TOPn[PERCENT]為輸出的最前面的n條記錄,若有PERCENT可選項,則可指定輸出百分之幾的記錄,但TOP語句必須與ORDERBY子句結(jié)合INTO和TO子句INTO子句指明查詢結(jié)果保存何處,可以是數(shù)組、臨時表或表TO子句指明查詢結(jié)果輸出到何處,可以是文本文件、打印機或VFP窗口若同一個查詢語句中同時包括INTO和TO子句,則TO子句不起作用,若卻INTO和TO子句,則默認輸出到瀏覽窗口5.1.3SELECT-SQL應(yīng)用舉例一、單表查詢二、多表查詢?nèi)⒔y(tǒng)計處理四、嵌套查詢五、聯(lián)合查詢六、別名與自連接查詢單表查詢查詢?nèi)啃畔?/p>

例:查詢xs表中的全部信息命令:

SELECT

*FROM

xs

符號*表示選定表的全部字段不包括重復(fù)信息例:查詢學(xué)生中所有的專業(yè)代號,對于重名的專業(yè)代號只顯示1次。命令:SELECTDISTINCTzydhFROMxs

使用DISTINCT可消除重復(fù)的值。輸出字段表達式例:查詢學(xué)生的學(xué)號、姓名和年齡命令:SELECTxsxhas學(xué)號,xsxmas姓名,YEAR(DATE())YEAR(csrq)as年齡;FROMxs

表達式as列名,表達式可以是常量、變量、函數(shù)及它們的組合,列表名用來指定查詢結(jié)果中列表項的標(biāo)題。記錄的篩選處理例:查詢工齡在10~15年之間(包括10年和15年的)教師的工號、姓名和工齡。命令:SELECTjsgh,jsxm,glFROMjs;WHEREgl>=10andgl<=15WHERE子句用來指定篩選記錄的條件,有多個條件時,可用AND或OR連接也可用下列語句實現(xiàn)

SELECTjsgh,jsxm,glFROMjs;

WHEREglBETWEEN10AND15;

ORDERBYDESC

在查詢中,若要求某列的數(shù)值在某個區(qū)間內(nèi),可用BETWEEN...AND...表示;反之不在區(qū)間內(nèi)則用NOTBETWEEN...AND...查詢結(jié)果的排序例:查詢工齡在10~15年之間(包括10年和15年的)教師的工號、姓名和工齡,并按工齡由高到低列出。命令:SELECTjsgh,jsxm,glFROMjs;WHEREglIN(10,11,12,13,14,15);ORDERBYglDESC選項DESC表示由大到小輸出。缺省情況下,以升序排序輸出查詢結(jié)果。在查詢中,經(jīng)常會遇到要求表的列表是某幾個值中的一個,這時可用IN表示。同時使用NOTIN表示與之相反的含義。多表查詢在日常中,往往要涉及多個表之間的關(guān)聯(lián)查詢。SQL語言提供了連接多個表的操作,可以在兩個表之間按指定列的值將一個表中的行與另一個表中的行連接起來,從而大大增強其查詢能力。例:查詢學(xué)生的學(xué)號、姓名、課程、成績、并按學(xué)號排升序。使用WHERE子句的篩選條件如下:

SELECTXs,xsxh,Xs,xsxh,Kc,kcmc,Cj.cj;

FROM

xs,cj,kc;

WHEREXS,xsxh=cj.xsxh

AND

Cj.kcdh=kc.kcdh

ORDERBY

Xs.xsxh使用FROM子句的鏈接條件實現(xiàn)如下:

SELECTXs,xsxh,Xs.xsxm,Kc,kcmc,Cj.cj;

FROMxsINNERJOINcjINNERJOINkc;

ONCj.kcdh=Kc.kcdhONXs.xsxh;

ORDERBYXs.xsxh對于上述查詢,按學(xué)號相等聯(lián)接學(xué)生表和成績表,按課程號相

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論