where子句 select 用戶帳號, 姓名,性別,創建時間
from 用戶
where 創建時間>'2010-12-31'and 性別='男'select 用戶帳號,姓名,創建時間,消費金額
from 用戶
where 創建時間 between '2010-1-1'and'2010-12-31'
列表查詢 select *
from 用戶
where 用戶.用戶等級 in (1,2,4)
模糊匹配查詢 select *
from 用戶
where 用戶.用戶名 like'李%_' 通配符的意義: _:單個任意字符
%:0個或多個任意的字符
[]:指定范圍內的任意字符
[^]:不屬于指定范圍的字符
空值查詢 where 表達式 is [not] NULL
order by select *
from 圖書
where 庫存量>500orderby 上架時間,定價 desc order by默認條件是升序排列,對于上面的語句,全局而言按上架時間升序排列,對于上架時間相同的行再以定義逆序排列。
select into ... select 圖書編號,圖書名稱,作者,定價
into 計算機類圖書
from 圖書
where 類別=1 執行之后將創建一個新表:計算機類圖書,其中其列名由select語句決定。
聚合函數(對列進行操作) selectmax(銷售量) as'類別5最高銷售量'from 圖書
where 類別=5 select count(*) as '消費500元以上人數'
from 用戶
where 消費金額>500
分組查詢(group by) select 性別,count(*) as '人數'
from 用戶
group by 性別
group by 語句按指定的列中的性質進行分類,如果列中只有男和女那么數據就分為兩組。再對不同的組進行匯總計筭,每一組生成一條數據。一般在存在group by子語句的sql語句中select的第一個列名與group by 分類的屬性相同。 select 用戶等級,性別,count(*) as '人數'
from 用戶
group by 用戶等級 性別
order by 用戶等級 性別
注意 order by 是對選擇之后的數據進行處理,故其在選擇數據的語句之后。本句先對數據以用戶等級分組,再以性別進行分組,再統計小組的數據。
where 用于篩選from指定的數據對像;group by用于對where的結果進行分組;having 則是對group by分組后的數據進行篩選。
compute 子句對要顯式的表進行進一步的處理...
多表查尋 select 用戶.用戶帳號, 等級.等級名稱
from 用戶,等級
where 用戶.用戶等級 = 等級.等級編號
select 圖書.*, 圖書類別.*
from 圖書,圖書類別
where 圖書.類別 = 圖書類別.類別編號 and 定價>=50and 圖書類別.類別名稱 = '計算機'
多表連接(join)
內連接(inner join)以on后面的條件為表的連接條件。內連接的特點是舍去那些不滿足條件的行。 select 用戶帳號,姓名,消費金額,等級編號
from 用戶 join 等級 on 用戶.用戶等級 = 等級.等級編號