本文所用數據庫為db_Test,數據表為Employee
一.SELECT語句基本結構
語句語法簡單歸納為:
SELECT select_list [INTO new_table_name] [FROM table_source] [WHERE search_condition] [GROUP BY group_by_expression]
[HAVING search_condition] [ORDER BY order_expression [ASC | DESC]]
備注:紅色字體為自定義參數,根據實際查詢填寫。
二.WITH子句
WITH子句用於指定臨時命名的公用表達式,在單條語句(SELECT、INSERT、UPDATE、DELETE)的語句執行范圍內定義;
例:創建一個公用表達式,計算Employee表中每一年齡的員工數量;

三.SELECT...FROM...子句
例: 在Employee中查詢所有女員工的姓名、年齡信息,並另起列名;

另起列名有三種方法:
1.列名 as 新列名
2.列名 =新列名
3.列名 新列名
PS:我個人比較愛用as
四.INTO子句
創建新表,並將查詢結果行插入該表中。
例:用into新建一張表,名為tb_EmpAge,包含Name和Age兩列
Select Name,Age into tb_EmpAge from Employee

五.WHERE子句
由於where子句的復雜性,下面按照參數的先后順序進行介紹;
1.邏輯運算符(NOT、AND、OR)
NOT:取反;
AND:邏輯與;
OR:邏輯或;
例:利用AND查詢Employee表中的年齡小於30歲的所有女員工 的信息;

例;利用NOT查詢年齡不小於30歲的所有女員工的信息

例:利用組合查詢年齡不大於40的男員工信息或年齡大於30的女員工信息;

2.比較運算符(=、<>、!=、>、>=、!>、<、<=、!<)
此運算符使用簡單,在此不再占用篇幅了。
3.LIKE關鍵字
用於模糊查詢,通配符有%、_、[ ]、[^]
%:后面可以跟零個或多個字符
_:匹配任意單個字符
[ ]:查詢一定范圍內的單個字符,包括兩端數據
[^]:表示不在一定范圍內的單個字符,包括兩端數據
例:查詢姓熊的員工並且名字只有兩個字的員工信息

例:查詢年齡在23-27周歲的員工信息

4.BETWEEN關鍵字
between...and 和not between and
例:查詢年齡在23-27周歲的女員工信息

5.is (not) null關鍵字
在where子句中,需要用is (not) null 判斷空值,不能使用=判斷空值
6.in關鍵字
用來指定列表搜索的條件;
例:查詢ID為1,2,3,的員工信息

7.ALL SOME ANY關鍵字
三者都作用於比較運算符和子查詢之間,一般和嵌套查詢一起用,Some和any等效
具體作用請看例子。all是大於最大者,any是小於最小者
例:查詢年齡大於熊大和熊二的員工信息


8.exists關鍵字
作用於子查詢,指定行是否存在
9.Group by 子句
用於對表進行分組

10.Having 子句
指定組或聚合的搜索條件,只能與select一起使用。
例:查詢相同年齡段大於2人的員工信息

11.ORDER BY
在select返回的結果中排序;只有在指定了Top情況下,才能在視圖、內聯函數、派生表和子查詢中起作用。
ORDER
例:將表中人員按照年齡大小降序排列

說明:order by 默認是升序排列
12.COMPUTE子句
生成合計,出現在結果列
例:計算表中員工的平均年齡

13.DISTINCT關鍵字
從select結果中去掉重復記錄
例;去掉重復年齡

14.TOP關鍵字
例:從select結果中顯示前4行

女猿一枚,為生活不斷拼搏,相信努力定會有收獲!
