mysql單表查詢綜述

簡單查詢

SELECT [DISTINCT] |{字段名 1, 字段名 2, 字段名 3,…}
FROM 表名
[WHERE 條件表達式 1]
[GROUP BY 字段名 [HAVING 條件表達式 2]]
[ORDER BY 字段名 [ASC|DESC]]
[LIMIT [OFFSET] 記錄數]

SELECT[ DISTTICN]|{字段名 1 ,字段名 2 ,…}:“字段名 1 ,字段名 2 ,…”
表示從表中查詢的指定字段,星號(*)通配符表示表中所有字段。

DISTINCT ”是可選參數,用於剔除查詢結果中重複的數據。

FROM 表名:表示從指定的表中查詢數據。

WHERE 條件表達式 1 :“WHERE”是可選參數,用於指定查詢條件。

GROUPBY 字段名 [ HAVING 條件表達式 2 ]:“ GROUPBY”是可選參數,用於將查詢結果按照指定字段進行分組,

HAVING也是可選參數,用於對分組後的結果進行過濾。

ORDERBY 字段名 [ ASC|DESC ]:“ ORDERBY ”是可選參數,用於將查詢結果按照指定字段進行排序。,其中 ASC表示按升序進行排列,DESC 表示按降序進行排列。如果不指定參數,默認爲升序排列。

LIMIT [ OFFSET ]記錄數:“ LIMIT ”是可選參數,用於限制查詢結果的數量。
LIMIT後面可以跟兩個參數,第一個參數“ OFFSET ”表示偏移量,如果偏移量爲 0 則從
查詢結果的第一條記錄開始,偏移量爲 1 則從查詢結果中的第二條記錄開始,以此類推。
OFFSET爲可選值,如果不指定其默認值爲 0 。第二個參數“記錄數”表示返回查詢記錄
的條數。

帶條件查詢

帶關係運算符的查詢

(>大於 >= 大於等於
< 小於 <= 小於等於
= 等於 <> 不等於
!= 不等於
帶IN關鍵字的查詢
N 關鍵字用於判斷某個字段的值是否在指定集合中,如果字段的值在集合中,則滿
足條件, NOT IN表示不在指定集合中
帶between and關鍵字的查詢
between and 用於判斷某個字段的值是否在指定的範圍之內
SELECT |{字段名 1,字段名 2,…}
FROM 表名
WHERE 字段名 [NOT] BETWEEN 值 1 AND 值 2
值1表示起始值,值2表示結束值

空值查詢

使用 IS NULL 關鍵字來判斷字段的值是否爲空值
SELECT |字段名 1,字段名 2,…
FROM 表名
WHERE 字段名 IS [NOT] NULL
NOT NULL表示非空

帶 DISTINCT關鍵字的查詢

過濾重複記錄
SELECT DISTINCT 字段名 FROM 表名;
字段名”表示要過濾重複記錄的字段。

帶LIKE關鍵字的查詢

用於模糊查詢
 SELECT |{字段名 1,字段名 2,…}
FROM 表名
WHERE 字段名 [NOT] LIKE ‘匹配字符串’;
匹配字符串有‘%’:表示任意長度字符串
‘_’表示:匹配單個字符
\% ”匹配百分號字面值,“
\ _”匹配下劃線字面值。

帶AND關鍵字的查詢

使用 AND 關鍵字可以連接兩個或者多個查詢條件,只有滿足所有條件的記錄纔會被返回
SELECT |{字段名 1,字段名 2,…}
FROM 表名
WHERE 條件表達式 1 AND 條件表達式 2 [… AND 條件表達式 n];

帶OR關鍵字的查詢

使用 OR 關鍵字時,只要記錄滿足任意一個條件就會被查詢出來。
SELECT |{字段名 1,字段名 2,…}
FROM 表名
WHERE 條件表達式 1 OR 條件表達式 2 [… OR 條件表達式 n];
OR 關鍵字和 AND 關鍵字可以一起使用,需要注意的是, AND 的優先級高於 OR ,因此當兩者在一起使用時,應該先運算 AND 兩邊的條件表達式,再運算 OR 兩邊的條件表達式。

高級查詢

聚和函數

函數名稱 作用 函數名稱 作用
count() 返回某列的函數 MAX() 返回某列的最大值
sum() 返回某列值的和 MIN() 返回某列的最小值
AVG() 返回某列的平均值
使用方式:
SELECT 函數名(字段名) FROM 表名;
例如:
1、查詢stu表的記錄數
SELECT COUNT(*) FROM STU ;
2、查詢stu表中成績最高的學生:
SELECT MAX(STUDENT) FROM STU;

對查詢結果排序

對查詢的結果進行排序,首先對第一字段的進行排序,如果第一字段相同,那麼就對第二字段排序
SELECT 字段名 1,字段名 2,…
FROM 表名
ORDER BY 字段名 1 [ASC | DESC],字段名 2 [ASC | DESC]
ASC:升序
DESC:降序

分組查詢

SELECT 字段名 1,字段名 2,…
FROM 表名
GROUP BY 字段名 1,字段名 2,…[HAVING 條件表達式];
GROUP BY 一般和聚合函數一起使用,可以統計出某個或者某些字段在一個分組中的
最大值、最小值、平均值等

使用LIMIT限制查詢結果數量

關鍵字 LIMIT ,可以指定查詢結果從哪一條記錄開始以及一共查詢多少條信息,
SELECT 字段名 1,字段名 2,…
FROM 表名
LIMIT [OFFSET,] 記錄數
函數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章