當前位置:文思屋>社會工作>電腦培訓>

SQL語句結構示例

文思屋 人氣:1.51W

SQL的意思是結構化查詢語言,其主要功能是同各種資料庫建立聯絡,進行溝通.查詢指的是對儲存於SQL的資料的請求。查詢要完成的任務是:將Select語句的結果集提供給使用者。Select語句從SQL中檢索出資料,然後以一個或多個結果集的形式將其返回給使用者。

SQL語句結構示例

==========================================================

Select基本語法結構

==========================================================

Select[predicate]{*|table.*|[table.]]field[,[table.]field2[,...]}

[ASalias1[,alias2[,...]]]

[INTOnew_table_name]

FROMtableexpression[,...]

[Where...]

[GROUPBY...]

[ORDERBY...][ASC|DESC]]

predicate-->指定返回記錄(行)的數量,可選:ALL,TOP

*--------->指定表中所有欄位(列).

table----->指定表的名稱.

field----->指定表中欄位(列)的名稱

[ASalias]-替代表中實際欄位(列)名稱的化名.

[INTOnew_table_name]-->建立新表及名稱.

tableexpression---->表的名稱.

[GROUPBY...]表示以該欄位的值分組

[ORDERBY...]表示按升序排列,降序選DESC;

------------------------------------------------------------

1選擇列

------------------------------------------------------------

sql語句在access中的'輸入方法

(1)選擇"查詢"-->新建-->預設設計檢視-->點選確定

(2)關閉"顯示錶對話框"

(3)在選單攔選擇"檢視"--->SQL檢視,就可以輸入SQL語句了

示例1_1_選擇所有欄位

Select*

FROMuseres;

示例1_2_選擇部分欄位

Selectuser_name,real_name,submit_date

FROMuseres;

示例1_3查詢兩個表中的欄位

Select圖書資訊表.圖書條碼,借書資訊表.圖書條碼

FROM圖書資訊表,借書資訊表;

示例解讀:

通過上面簡單示例我們體會到

(1)Select子句選擇列表,它指出查詢結果集所包含的欄位(列)及其屬性,選擇所有列時用通配府*,選擇部分列時要用逗號隔開

(2)FROM子句指出查詢的表名,要指定多個表時中間用逗號隔開

------------------------------------------------------------

2TOP指定返回記錄數量

------------------------------------------------------------

示例1_4_返回記錄數量

SelectTOP3*

FROMuseres;

-------------------------------------------------------------

3AS派生新欄位

-------------------------------------------------------------

示例1_5_派生新欄位

Selectuser_name,(submit_date+30)ASnew_date

FROMuseres;

------------------------------------------------------------

4Where指定條件進行篩選

------------------------------------------------------------

示例1_6等號查詢指定記錄

Select*

FROMuseres

_name="紅紅";

示例1_7年齡大於30的人

Select*

FROMuseres

Whereage>30

從上面可以看出,在根據條件進行篩選時,要用到運算子,常見的運算子如下所示:

1比較運算子

=等於

<>不等於

>大於

<小於

<=小於等於

>=大於等於

2邏輯運算子

ALL所有條件都為true則返回true

AND兩個條件都為true則返回true

OR有一個條件為true則返回true

NOT對值取反

ANY所有條件中只要有一個為true則返回true

BETWEEN只要運算元在指定的範圍內,則返回true

IN只要運算元等於表示式中的一個,則返回true

LIKE如果運算元與模式相匹配,則返回true

SOME在一系列的比較中,有些為true則返回true

示例1_8_某日以前註冊使用者

Select*

FROMuseres

Wheresubmit_date<#2004-12-30#

示例1_9_某時間段註冊使用者

Select*

FROMuseres

Wheresubmit_dateBETWEEN#2004-1-1#AND#2005-5-1#

示例1_10_按關鍵字查詢

Select*

FROMuseres

_nameLIKE"*李*"

------------------

IN與OR的區別

-----------------

示例_IN篩選欄位中的記錄

Selectreal_name,submit_date

FROMuseres

Wherereal_nameIn("小李","小張")

示例_OR篩選欄位中的記錄

Selectreal_name,submit_date

FROMuseres

Wherereal_name="小李"orreal_name="小張"

------------------------------------------------------------

5GROUPBY分組結果集

------------------------------------------------------------

示例1_12_GROUPBY分組結果集

Selectsex,SUM(age)ASage之SUM

FROMuseres

ORDERBYSUM(age)DESC;

示例解讀:

按欄位"sex"下的記錄對新"欄位"age之SUM"進行分組.

用來指定按降序排列

本例中的sum為SQL中的聚合函式(對一組值進行操作,返回單一的彙總值),下面是常用的幾個聚合函式:

1SUM求總和函式

格式:

SUM([ALL|DISTINCT]expression)

引數:

ALL對所有值求總和,預設為ALL

DISTINCT求總和時排除重複項

expression值或表示式,可以是變數,欄位,函式等

2AVG求平均值函式

格式:

AVG([ALL|DISTINCT]expression)

引數:

ALL對所有值求平均,預設為ALL

DISTINCT求平均時排除重複項

expression值或表示式,可以是變數,欄位,函式等

3MIN和MAX函式分別為求最小值和最大值,格式和上面類似.

4COUNT行計數函式

格式:

COUNT({[ALL|DISTINCT]expression|*})

ALL表示計算除了NULL以外的其他項,為預設選項

DISTINCT表示COUNT返回唯一非空值的數量

expression為表示式,不能是txte,image,ntxt和uniqueidentifier型別的資料.

示例1_13_AVG求平均值函式

Selectsex,AVG(age)ASage之AVG

FROMuseres

ORDERBYAVG(age)DESC;

示例1_14_COUNT返回記錄數量

SelectCOUNT(*)

FROMuseres

示例1_15_按性別分組記錄數量

Selectsex,COUNT(*)

FROMuseres

GROUPBYsex;

------------------------------------------------------------

6DISTINCT從尾部除去重複記錄

------------------------------------------------------------

SelectDISTINCTreal_name

FROMuseres

------------------------------------------------------------

7組合查詢

------------------------------------------------------------

當需要從多個表中查詢時,可以使用組合查詢

_name,_time

FROMuseres,logtime

Where(((_name)=[logtime].[real_name]));

TAGS:SQL 示例 語句