第四章 SQL語言.doc_第1頁
第四章 SQL語言.doc_第2頁
第四章 SQL語言.doc_第3頁
第四章 SQL語言.doc_第4頁
第四章 SQL語言.doc_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

關系數(shù)據(jù)庫標準語言SQL結構化查詢語言: STRUCTURED QUERY LANGUAGE(SQL)4.1SQL介紹-特點(1)SQL是一種一體化語言(2)SQL語言是一種高度非過程化的語言(3)SQL 語言非常簡潔(4)SQL語言可以直接以命令的方式使用,也可以嵌入到程序設計語言中以程序的方式使用SQL的功能:數(shù)據(jù)的定義、數(shù)據(jù)的操縱、數(shù)據(jù)的查詢、數(shù)據(jù)的控制。 說明:VF數(shù)據(jù)庫不支持數(shù)據(jù)的控制功能。數(shù)據(jù)的定義功能:對表結構的操作(CREATE 創(chuàng)建 、DROP 刪除 、ALTER 修改)數(shù)據(jù)的操縱功能:對表記錄的操作(INSERT 插入、update 修改、DELETE 刪除)數(shù)據(jù)的查詢:SELECT4.4定義功能:CREATE、DROP 、ALTER4.4.1表的定義CREATE創(chuàng)建一個倉庫管理數(shù)據(jù)庫(倉庫、職工、訂購單、供應商)定義表的結構:字段名、類型、寬度、有效性規(guī)則和索引等等。語法格式:CREATE TABLE 表名(字段名1 類型(寬度) PRIMARY KEY,字段名2 類型(寬度),;字段名3 類型(寬度) CHECK. ERROR. DEFAULT,;FOREIGN KEY 字段名 TAG 索引名 REFERENCES 表名,;FOREIGN KEY 字段名 TAG 索引名 REFERENCES 表名)說明:PRIMARY KEY 建立一個主索引,CHECK.ERROR.DEFAULT 字段的有效性規(guī)則.FOREIGN KEY 外部關鍵字建立普通索引, REFERENCES 為表建立聯(lián)系EG:倉庫表建立create database 倉庫管理modify databasecreate TABLE 倉庫(倉庫號 C(4) PRIMARY KEY,;城市 C(10),面積 N(6,2)CHECK 面積=120 AND 面積=1000 AND 工資=8000 AND 資產(chǎn)=15504.2查詢功能SELECT :SQL語言的核心內(nèi)容。查詢的分類:簡單查詢、簡單連接查詢、嵌套查詢、超連接查詢。查詢的基本格式:SELECT . FROM. WHERE 多個查詢可以進行嵌套。4.2.1簡單查詢:基于一個表的數(shù)據(jù)查詢。語法格式: 查找的對象(字段名),字段名來自于那個表,條件來自于 那個表。SELECT 字段名1,字段名2,. FROM 表名 where 條件EG1:找出男職工的職工號和工資?select 職工號,工資 FROM 職工 WHERE 性別=男EG2:檢索出女職工的全部信息?SELECT 職工號,倉庫號,工資,性別,城市 FROM 職工 WHERE 性別=女SELECT * FROM 職工 WHERE 性別=女說明:通配符星號*:表示通配查詢的所有字段.EG3:找出E3職工的所在地是哪兒?SELECT 城市 AS 所在地 FROM 職工 WHERE 職工號=E3SELECT 城市 所在地 FROM 職工 WHERE 職工號=E3說明: AS (也可以用空格表示):表示將字段作為新的字段輸出EG4:檢索出家在上海和遵義居住的男職工信息?SELECT * FROM 職工 where 性別=男 AND (城市=上海 OR 城市=遵義)EG5:檢索男職工來自于那些城市?SELECT DISTINCT(城市) AS 城市 FROM 職工 WHERE 性別=男說明:DISTINCT短語:去掉查詢結果的重復值EG6:檢索出男職工來自于幾個城市?SELECT COUNT(DISTINCT(城市) AS 城市數(shù)量 from 職工 WHERE 性別=男說明:COUNT( ) 函數(shù)表示計數(shù)統(tǒng)計。4.2.2簡單連接查詢:是一種基于多個關系(表)的查詢。語法格式:SELECT 字段1,字段2, FROM 表1,表2, WHERE 表之間的聯(lián)系 AND 查詢條件(用AND/OR連接多個條件)說明:表之間的聯(lián)系是一個表的主關鍵字和另外一個表外部關鍵字表1.主關鍵字=表2.外部關鍵字查詢條件:是對查詢結果進行限制。EG1:檢索出男職工的倉庫的所在地?SELECT 所在地 FROM 倉庫,職工 where 倉庫.倉庫號=職工.倉庫號 AND 性別=男EG2:檢索出工資高于1220元的男職工的訂購單信息?SELECT 訂購單.* FROM 職工,訂購單 WHERE 職工.職工號=訂購單.職工號;AND 工資1220 AND 性別=男EG:找出倉庫的倉庫號、所在地以及他們的職工?SELECT 倉庫.倉庫號,所在地,職工號 FROM 倉庫,職工 WHERE 倉庫.倉庫號=職工.倉庫號說明:查詢的對象不唯一時,必須加表名限制。課堂練習:檢索出補考學生的人數(shù)?SELECT count(DISTINCT(學號) AS 補考人數(shù) FROM 成績 WHERE 分數(shù)1230 AND 地址=北京SELECT 訂購單號 FROM 訂購單 where 職工號 IN(SELECT 職工號 FROM 職工 WHERE 工資1230);AND 供應商號 IN(SELECT 供應商號 FROM 供應商 WHERE 地址=北京)4.2.4幾個特殊的運算符: (1) BETWEEN AND. 表示在兩者之間(閉區(qū)間)例題:檢索出工資在1220到1240之間的職工信息?SELECT * from 職工 WHERE 工資=1220 AND 工資=1240SELECT * from 職工 WHERE 工資 BETWEEN 1220 AND 1240(2)LIKE:像什么一樣,是字符串匹配運算符,通配符%表示0個或者多個字符,另外下劃線_表示一個字符。例題:從供應商關系中檢索出全部公司的信息?SELECT * FROM 供應商 where 供應商名 LIKE %公司檢索出姓張學生的信息?SELECT * FROM 學生 WHERE 姓名 LIKE 張%(3)不等于: != # NOT 例題:檢索出沒有在北京居住的職工信息?SELECT * FROM 職工 WHERE 城市!=北京SELECT * FROM 職工 WHERE 城市北京SELECT * FROM 職工 WHERE 城市#北京SELECT * FROM 職工 WHERE NOT(城市=北京)4.2.5排序:對查詢結果按照某個字段值的升序或者降序來排列查詢結果排序的短語:ORDER BY 字段名1,字段名2,說明:升序ASC 降序 DESC, 系統(tǒng)默認是升序例題1:按職工的工資值升序檢索出全部職工的信息?SELECT * from 職工 ORDER BY 工資 ASC例題2:檢索出全部職工的信息,并且先按照倉庫號的升序排列,再按工資的降序輸出。SELECT 職工號,倉庫號,工資,性別,城市 FROM 職工;ORDER BY 倉庫號 ASC,工資 DESCSELECT 職工號,倉庫號,工資,性別,城市 FROM 職工;ORDER BY 2 ASC,3 DESC4.2.6簡單的計算查詢計算檢索的函數(shù): COUNT( ) 計數(shù) SUM( ) 求和 AVG( ) 平均值 MAX( ) 最大值 MIN( ) 最小值EG1:檢索出供應商所在地的數(shù)目?SELECT COUNT(DISTINCT(地址) AS 數(shù)目 FROM 供應商EG2:檢索出所有職工的工資總和?SELECT SUM(工資) AS 總工資 FROM 職工4.2.8利用空值(NULL)查詢:不確定的值IS NULL 不確定的值 IS NOT NULL 確定了的值例題:找出沒有確定供應商的訂購單信息?SELECT * FROM 訂購單 WHERE 供應商號 IS NULL4.2.7分組與計算查詢分組的短語: GROUP BY 字段名 對分組的條件進行限制:HAVING 例題:求每個倉庫的職工的平均工資?SELECT 倉庫號,AVG(工資) FROM 職工 group BY 倉庫號+例題:求至少有兩個職工的每個倉庫的平均工資?SELECT 倉庫號,AVG(工資) FROM 職工 group BY 倉庫號 HAVING COUNT(職工號)=2課堂練習:找出每個城市的男職工人數(shù)?SELECT 城市,COUNT(職工號) FROM 職工 WHERE 性別=男 group BY 城市檢索出面積大于300的每個倉庫的職工人數(shù)?SELECT 職工.倉庫號,COUNT(職工號) FROM 倉庫,職工 WHERE 倉庫.倉庫號=職工.倉庫號;AND 面積300 GROUP BY 職工.倉庫號SELECT 倉庫號,COUNT(職工號) FROM 職工 WHERE 倉庫號 in(;SELECT 倉庫號 FROM 倉庫 WHERE 面積300

溫馨提示

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

評論

0/150

提交評論