栗喧
(河南省焦作市第二人民醫(yī)院信息科,河南 焦作 454001)
SQL是高度非過程化的,用戶只需明確說明“要干什么”,而不必說明“該怎么干”,系統(tǒng)會對數(shù)據(jù)庫進行操作,并對操作過程進行優(yōu)化。因此速度快,效率高。
1.select語句由多個子句構(gòu)成,其基本表達式如下:select[all∣distinct]*或者column as alias[,column2]from table[,table2 ]
[where“conditions1”]
[group by“column-list1”]
[order by“column-list”[asc∣desc]]
在查詢語句中,被[]括起來的是可選項。最基本的結(jié)構(gòu)是select-from-where語句。如果沒有查詢條件的話,where語句也是可以沒有的。其中select子句是數(shù)據(jù)查詢的核心語句,通過select子句,可以指定所要查詢的字段。
2.as子句設(shè)置字段別名
select customerID,companyTITLE as公司名稱from客戶表
3.from子句用以指出查詢目標所涉及的所有表。可以指定當前的數(shù)據(jù)庫,也可以指定一個外部數(shù)據(jù)庫或一個數(shù)據(jù)源。From子句由關(guān)鍵字from后跟一組用逗號分開的表名組成,每個表名都表示一個包括該查詢要檢索數(shù)據(jù)的表。這些表稱為此SQL語句的表源,因為查詢結(jié)果都源于它們。在FROM子句中最多可指定256表或視圖,它們之間用逗號分隔。
4.where子句指出查詢目標必須滿足的條件,系統(tǒng)根據(jù)條件進行選擇運算,輸出符合條件的記錄集合。Where子句設(shè)置查詢條件,過濾掉不需要的數(shù)據(jù)行。例如下面語句可查詢價格高于 1000的記錄。Select product,perprice from產(chǎn)品表where perprice>1000。
5.order by子句對記錄排序。Order by是可選的子句,order by子句將查詢結(jié)果按一列或多列中的數(shù)據(jù)排序??梢酝ㄟ^指定ASC或DESC按照升序或降充排列查詢的結(jié)果。
6.group by子句進行分組查詢
group by子句將所有的行在一起,它包含了指定列的數(shù)列以及允許合計函數(shù)來計算一個或者多個列。
7.like和in子句進行通配查詢
in運算符指定某幾個項,用以查詢符合這幾個項的所有記錄,如同“=”與“or”的組合。Like匹配符,通配字符有以下幾種:百分號%可匹配任意類型和長度的字符,如果是中文,應(yīng)使用兩個百分號。下劃線:匹配單個任意字符。方括號[]指定一個字符、字符串或范圍,要求所匹配的對象為它們中的任一個。
8.sql函數(shù)進行統(tǒng)計查詢
sql提供了事個作用在列值集合上的內(nèi)置函數(shù):count(計算元素的個數(shù))、max(找出某一列元素的最大值)、min(找出某一列元素的最小值)、sum(對某一列的數(shù)值進行求和)、avg(對某一列的數(shù)值進行求平均數(shù)),除count外,這些集合函數(shù)都必須作用在由簡單值組成的集合上,也就是,數(shù)字集合或字符串集合。
還有一些命令,由于篇幅限制,不再一一列舉,請各位讀者可以逐一嘗試;一些基本的sql命令可以幫助我們在日常的生活工作中解決一些實際性的問題。