SQL語句示例
更新時(shí)間:2006年10月28日 00:00:00 作者:
SQL的意思是結(jié)構(gòu)化查詢語言,其主要功能是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通.查詢指的是對存儲(chǔ)于SQL的數(shù)據(jù)的請求。查詢要完成的任務(wù)是:將 Select 語句的結(jié)果集提供給用戶。Select 語句從 SQL 中檢索出數(shù)據(jù),然后以一個(gè)或多個(gè)結(jié)果集的形式將其返回給用戶。
==========================================================
Select 基本語法結(jié)構(gòu)
==========================================================
Select[predicate]{*|table.*|[table.]]field [,[table.]field2[,...]}
[AS alias1 [,alias2[,...]]]
[INTO new_table_name]
FROM tableexpression [, ...]
[Where...]
[GROUP BY...]
[ORDER BY...][ASC | DESC] ]
predicate-->指定返回記錄(行)的數(shù)量,可選:ALL,TOP
* --------->指定表中所有字段(列).
table ----->指定表的名稱.
field ----->指定表中字段(列)的名稱
[AS alias] -替代表中實(shí)際字段(列)名稱的化名.
[INTO new_table_name]-->創(chuàng)建新表及名稱.
tableexpression---->表的名稱.
[GROUP BY...]表示以該字段的值分組
[ORDER BY...]表示按升序排列,降序選 DESC;
------------------------------------------------------------
1 選擇列
------------------------------------------------------------
sql語句在access中的輸入方法
(1)選擇"查詢"-->新建-->默認(rèn)設(shè)計(jì)視圖-->點(diǎn)擊確定
(2)關(guān)閉"顯示表對話框"
(3)在菜單攔選擇"視圖"--->SQL視圖 ,就可以輸入SQL語句了
示例1_1_選擇所有字段
Select *
FROM useres;
示例1_2_選擇部分字段
Select user_name,real_name,submit_date
FROM useres;
示例1_3查詢兩個(gè)表中的字段
Select 圖書信息表.圖書條碼, 借書信息表.圖書條碼
FROM 圖書信息表, 借書信息表;
示例解讀:
通過上面簡單示例我們體會(huì)到
(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]));
==========================================================
Select 基本語法結(jié)構(gòu)
==========================================================
Select[predicate]{*|table.*|[table.]]field [,[table.]field2[,...]}
[AS alias1 [,alias2[,...]]]
[INTO new_table_name]
FROM tableexpression [, ...]
[Where...]
[GROUP BY...]
[ORDER BY...][ASC | DESC] ]
predicate-->指定返回記錄(行)的數(shù)量,可選:ALL,TOP
* --------->指定表中所有字段(列).
table ----->指定表的名稱.
field ----->指定表中字段(列)的名稱
[AS alias] -替代表中實(shí)際字段(列)名稱的化名.
[INTO new_table_name]-->創(chuàng)建新表及名稱.
tableexpression---->表的名稱.
[GROUP BY...]表示以該字段的值分組
[ORDER BY...]表示按升序排列,降序選 DESC;
------------------------------------------------------------
1 選擇列
------------------------------------------------------------
sql語句在access中的輸入方法
(1)選擇"查詢"-->新建-->默認(rèn)設(shè)計(jì)視圖-->點(diǎn)擊確定
(2)關(guān)閉"顯示表對話框"
(3)在菜單攔選擇"視圖"--->SQL視圖 ,就可以輸入SQL語句了
示例1_1_選擇所有字段
Select *
FROM useres;
示例1_2_選擇部分字段
Select user_name,real_name,submit_date
FROM useres;
示例1_3查詢兩個(gè)表中的字段
Select 圖書信息表.圖書條碼, 借書信息表.圖書條碼
FROM 圖書信息表, 借書信息表;
示例解讀:
通過上面簡單示例我們體會(huì)到
(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]));
相關(guān)文章
- 在SQL語句中,where 子句:where t.modifier = null ,這里不可以使用NULL關(guān)鍵字,因?yàn)樗皇且粋€(gè)真正的值,它僅僅是一個(gè)符號,因?yàn)樗闹凳俏粗摹?/div> 2011-04-04
如何得到數(shù)據(jù)庫中所有表名 表字段及字段中文描述
最近做一個(gè)項(xiàng)目,客戶希望可以自己選擇想要查看的列表,這樣就不好辦了,選擇列表的名字他們也想自定義,沒辦法這就需要查看數(shù)據(jù)表中字段,中文說明,默認(rèn)標(biāo)志了2011-12-12SQL Server一個(gè)字符串拆分多行顯示或者多行數(shù)據(jù)合并成一個(gè)字符串
這篇文章介紹了SQL Server一個(gè)字符串拆分多行顯示或者多行數(shù)據(jù)合并成一個(gè)字符串的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05SQL Server誤區(qū)30日談 第29天 有關(guān)堆碎片的誤區(qū)
對堆建聚集索引再DROP在我看來是除了收縮數(shù)據(jù)庫之外最2的事了2013-01-01uniqueidentifier轉(zhuǎn)換成varchar數(shù)據(jù)類型的sql語句
uniqueidentifier轉(zhuǎn)換成varchar數(shù)據(jù)類型的sql語句,需要的朋友可以參考下。2011-09-09sqlserver isnull在數(shù)據(jù)庫查詢中的應(yīng)用
isnull在數(shù)據(jù)庫查詢中的應(yīng)用,特別是再語句連接的時(shí)候需要用到2011-11-11Sqlserver創(chuàng)建用戶并授權(quán)的實(shí)現(xiàn)步驟
這篇文章主要介紹了Sqlserver創(chuàng)建用戶并授權(quán)的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04最新評論