SQL基本使用-查询表中的记录
查詢表中的記錄
1.語法
Select 字段列表
From 表名列表
Where 條件列表
Group by 分組字段
Having 分組之后的條件限定
Order by 排序
Limit 分頁限定
2.基礎查詢
1.多個字段的查詢
SELECT 字段名1,字段名2, FROM 表名;2.查詢所有
SELECT * FROM 表名;3.去重復查詢
SELECT DISTINCT 字段名1,字段名2 FROM 表名;4.計算列
SELECT 字段名1,字段名2,字段名3+字段名4 FROM 表名;5.計算列重命名
SELECT 字段名1,字段名2,字段名3+字段名4 AS 新的列名 FROM 表名;3.條件查詢
< >= <= != <> …
between…and 在…之間
in (集合)
like _單個任意字符 %多個任意字符
判斷年齡 大于等于20
SELECT * FROM student WHERE age>=20;判斷年齡等于20
SELECT * FROM student WHERE age=20;年齡不等與20的
SELECT * FROM student WHERE age!=20; SELECT * FROM student WHERE age<>20;年齡在20-30之間的
SELECT * FROM student WHERE age>=20 && age<=30; SELECT * FROM student WHERE age>=20 AND age<=30; SELECT * FROM student WHERE age BETWEEN 20 AND 30;年齡包含(22,19,24)
SELECT * FROM student WHERE age = 22 OR age =19 OR age = 24; SELECT * FROM student WHERE age IN(22,19,24);null不能使用= (!=)判斷
SELECT * FROM student WHERE math = NULL;判斷數學成績為null的
SELECT * FROM student WHERE math IS NULL;判斷數學成績不為null的
SELECT * FROM student WHERE math IS NOT NULL;查詢張開頭的名字
SELECT * FROM student WHERE `name` LIKE '張%';查詢第二位是三的人
SELECT * FROM student WHERE `name` LIKE '_三';查詢兩個字的名字
SELECT * FROM student WHERE `name` LIKE '__';查詢姓名中包含某個字符
SELECT * FROM student WHERE `name` LIKE '%三%';4.排序語法
ORDER BY 排序字段1 排序方式1,排序字段2 排序方式2;
ASC 升序 默認方式
DESC 降序
查詢后按降序排列
查詢后按降序排列,如果列名1有相等的,按列名2的降序排列
SELECT * FROM 表名 ORDER BY 列名1 DESC, 列名2 DESC;5.聚合函數
解釋:將一列數據作為一個整體,進行縱向計算(聚合計算會 排除 null );
不排除null解決方案
聚合函數,表的數據的總數
SELECT COUNT(列名) FROM student;如果是null 讓他為0
SELECT COUNT(IFNULL(列名,0)) FROM student;聚合函數 最大值
SELECT MAX(列名) FROM student;聚合函數 最小值
SELECT MIN(列名) FROM student;聚合函數 求和
SELECT SUM(列名) FROM student;聚合函數 平均值
SELECT AVG(列名) FROM student;6.分組查詢
語法
GROUP BY
WHERE 和 HAVING的區別
分組查詢 按列名1分組 查詢列名2平均值,和總數
SELECT 列名1,AVG(列名2),COUNT(列名3) FROM 表名 GROUP BY 列名1;分組查詢 按列名1分組 查詢列名2平均值,和總數 排除 列名2大于80的
SELECT 列名1,AVG(列名2),COUNT(列名3) FROM 表名 WHERE 列名2>80 GROUP BY 列名1;分組查詢 按列名1分組 查詢列名2平均值,和總數 排除 列名2大于80的 并且 總數大2的
SELECT 列名1,AVG(列名2),COUNT(列名3) FROM 表名 WHERE 列名2>80 GROUP BY 列名1 HAVING COUNT(id)>2; // '人數' 是 AS 的新名字 聚合函數可以 AS 名字 并且在別的地方調用 SELECT 列名1,AVG(列名2),COUNT(列名3) 人數 FROM 表名 WHERE 列名2>80 GROUP BY 列名1 HAVING 人數>2;7.分頁查詢
語法
LIMIT 開始的索引,每頁查詢的條數;
公式
開始的索引 = (當前的頁碼-1) * 每頁顯示的條數;
分頁查詢
SELECT * FROM student LIMIT 0,3;總結
以上是生活随笔為你收集整理的SQL基本使用-查询表中的记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql如何彻底卸载_windows如
- 下一篇: Debian彻底卸载MySQL