前言:數據庫
這是我學數據庫時整理的學習資料,基本上包括了因此的SQL語句的知識點。函數
個人教材是人大王珊老師的《數據庫系統概論》。學習
由於是手打的,因此會用一些細節打錯了,但都挺明顯也很少(考完試後我也沒有繼續整理)。spa
SELECT [ALL|DISTINCT] <目標列表達式> [,<目標列表達式> ]...
FROM <表名或視圖名> [ ,<表名或視圖名> ]
| (<SELECT語句>) [AS] <別名>
[ WHERE <條件表達式> ]
[ GROUP BY <列名1> [ HAVING <條件表達式> ]]
[ ORDER BY <列名2> [ASC|DESC] ]排序
Note:字符串
1.<目標表達式>能夠是:it
1) 屬性列學習資料
2) 算術表達式,如:2014-Sage語法
3) 字符串常量,如:'姓名:'im
4) 函數,如:LOWER(Sdept) --> 用小寫字母表示Sdept
2.GROUP BY --> 將結果按照<列名1>的值進行分組,
該屬性列值相等的元組爲一個組
帶有HAVING --> 只有知足指定條件的組才予以輸出
eg:
SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno
HAVINT AVG(Grage)>=90;
3.ORDER BY --> 按照<列名2>的值排序:ASC --> 升序(默認)
DESC -> 降序
4.查詢條件(WHERE子句):
1) 比較:
=,>,<,>=,<=,!= or <>,!>,!<
NOT+上述比較符
Note: =後面接值 --> 比較操做
=後面接列 --> 鏈接操做
2) 範圍:
BETWEEN lower_limit AND upper_limit
Note: 包括lower_limit和upper_limit
NOT BETWEEN lower_limit AND upper_limit
3) 肯定集合:
IN
eg: WHERE Sdept IN ('CS','MA','IS')
NOT IN
4) 字符匹配:
LIKE
NOT LIKE
Note:
語法:
1.[NOT] LIKE '<匹配串>' [ESCAPE'<換碼字符>']
2.% --> 任意長度(可爲0)的字符串
_ --> 任意單個字符串
eg:
WHERE Cname LIKE 'DB\_%i_' ESCAPE'\'
5) 空值:
IS NULL
IS NOT NULL
eg:
WHERE Grade IS NULL