示例1_1_選擇所有字段 Select * FROM useres; 示例1_2_選擇部分字段 Select user_name,real_name,submit_date FROM useres; 示例1_3查詢兩個(gè)表中的字段 Select 圖書信息表.圖書條碼, 借書信息表.圖書條碼 FROM 圖書信息表, 借書信息表;
示例解讀: 通過上面簡單示例我們體會到 (1) Select 子句選擇列表,它指出查詢結(jié)果集所包含的字段(列)及其屬性,選擇所有列時(shí)用通配府*,選擇部分列時(shí)要用逗號隔開 (2) FROM 子句指出查詢的表名,要指定多個(gè)表時(shí)中間用逗號隔開 ------------------------------------------------------------ 2 TOP指定返回記錄數(shù)量 ------------------------------------------------------------ 示例1_4_返回記錄數(shù)量 Select TOP 3 * FROM useres; ------------------------------------------------------------- 3 AS派生新字段 ------------------------------------------------------------- 示例1_5_派生新字段 Select user_name,(submit_date+30) AS new_date FROM useres; ------------------------------------------------------------ 4 Where指定條件進(jìn)行篩選 ------------------------------------------------------------ 示例1_6等號查找指定記錄 Select * FROM useres Where useres.real_name="紅紅"; 示例1_7年齡大于30的人 Select * FROM useres Where age>30 從上面可以看出,在根據(jù)條件進(jìn)行篩選時(shí),要用到運(yùn)算符,常見的運(yùn)算符如下所示: 1 比較運(yùn)算符 = 等于 > 不等于 > 大于 小于 = 小于等于 >= 大于等于 2 邏輯運(yùn)算符 ALL 所有條件都為true則返回true AND 兩個(gè)條件都為true則返回true OR 有一個(gè)條件為true則返回true NOT 對值取反 ANY 所有條件中只要有一個(gè)為true則返回true BETWEEN 只要操作數(shù)在指定的范圍內(nèi),則返回true IN 只要操作數(shù)等于表達(dá)式中的一個(gè),則返回true LIKE 如果操作數(shù)與模式相匹配,則返回true SOME 在一系列的比較中,有些為true則返回true 示例1_8_某日以前注冊用戶 Select * FROM useres Where submit_date#2004-12-30# 示例1_9_某時(shí)間段注冊用戶 Select * FROM useres Where submit_date BETWEEN #2004-1-1# AND #2005-5-1# 示例1_10_按關(guān)鍵字查找 Select * FROM useres Where useres.real_name LIKE "*李*" ------------------ IN與OR的區(qū)別 ----------------- 示例_IN篩選字段中的記錄 Select real_name,submit_date FROM useres Where real_name In("小李","小張") 示例_OR篩選字段中的記錄 Select real_name,submit_date FROM useres Where real_name="小李" or real_name="小張" ------------------------------------------------------------ 5 GROUP BY分組結(jié)果集 ------------------------------------------------------------ 示例1_12_GROUPBY分組結(jié)果集 Select sex, SUM(age) AS age之SUM FROM useres GROUP BY useres.sex ORDER BY SUM(age) DESC; 示例解讀: 按字段"sex"下的記錄對新"字段"age之SUM"進(jìn)行分組. ORDER BY...DESC用來指定按降序排列 本例中的sum為SQL中的聚合函數(shù)(對一組值進(jìn)行操作,返回單一的匯總值),下面是常用的幾個(gè)聚合函數(shù): 1 SUM 求總和函數(shù) 格式: SUM([ALL|DISTINCT] expression) 參數(shù): ALL 對所有值求總和,默認(rèn)為ALL DISTINCT 求總和時(shí)排除重復(fù)項(xiàng) expression 值或表達(dá)式,可以是變量,字段,函數(shù)等 2 AVG 求平均值函數(shù) 格式: AVG([ALL|DISTINCT] expression) 參數(shù): ALL 對所有值求平均,默認(rèn)為ALL DISTINCT 求平均時(shí)排除重復(fù)項(xiàng) expression 值或表達(dá)式,可以是變量,字段,函數(shù)等 3 MIN和MAX函數(shù)分別為求最小值和最大值,格式和上面類似. 4 COUNT 行計(jì)數(shù)函數(shù) 格式: COUNT({[ALL|DISTINCT] expression|*}) ALL 表示計(jì)算除了NULL以外的其他項(xiàng),為默認(rèn)選項(xiàng) DISTINCT 表示COUNT返回唯一非空值的數(shù)量 expression 為表達(dá)式,不能是txte,image,ntxt和uniqueidentifier類型的數(shù)據(jù). 示例1_13_AVG求平均值函數(shù) Select sex, AVG(age) AS age之AVG FROM useres GROUP BY useres.sex ORDER BY AVG(age) DESC; 示例1_14_COUNT返回記錄數(shù)量 Select COUNT(*) FROM useres 示例1_15_按性別分組記錄數(shù)量 Select sex, COUNT(*) FROM useres GROUP BY sex; ------------------------------------------------------------ 6 DISTINCT從尾部除去重復(fù)記錄 ------------------------------------------------------------ Select DISTINCT real_name FROM useres ------------------------------------------------------------ 7 組合查詢 ------------------------------------------------------------ 當(dāng)需要從多個(gè)表中查詢時(shí),可以使用組合查詢 Select useres.real_name, logtime.log_time FROM useres, logtime Where (((useres.real_name)=[logtime].[real_name]));