[JavaWeb-MySQL]DQL_查询表中记录,语句
生活随笔
收集整理的這篇文章主要介紹了
[JavaWeb-MySQL]DQL_查询表中记录,语句
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
DQL:查詢表中的記錄
* select * from 表名;1. 語法:select字段列表from表名列表where條件列表group by分組字段having分組之后的條件order by排序limit分頁限定2. 基礎查詢1. 多個字段的查詢select 字段名1,字段名2... from 表名;* 注意:* 如果查詢所有字段,則可以使用*來替代字段列表。2. 去除重復:* distinct3. 計算列* 一般可以使用四則運算計算一些列的值。(一般只會進行數(shù)值型的計算)* ifnull(表達式1,表達式2):null參與的運算,計算結(jié)果都為null* 表達式1:哪個字段需要判斷是否為null* 如果該字段為null后的替換值。4. 起別名:* as:as也可以省略3. 條件查詢1. where子句后跟條件2. 運算符* > 、< 、<= 、>= 、= 、<>* BETWEEN...AND * IN( 集合) * LIKE:模糊查詢* 占位符:* _:單個任意字符* %:多個任意字符* IS NULL * and 或 &&* or 或 || * not 或 !-- 查詢年齡大于20歲SELECT * FROM student WHERE age > 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 小于等于30SELECT * 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歲,18歲,25歲的信息SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25SELECT * FROM student WHERE age IN (22,18,25);-- 查詢英語成績?yōu)閚ullSELECT * FROM student WHERE english = NULL; -- 不對的。null值不能使用 = (!=) 判斷SELECT * FROM student WHERE english IS NULL;-- 查詢英語成績不為nullSELECT * FROM student WHERE english IS NOT NULL;-- 查詢姓馬的有哪些? likeSELECT * FROM student WHERE NAME LIKE '馬%';-- 查詢姓名第二個字是化的人SELECT * FROM student WHERE NAME LIKE "_化%";-- 查詢姓名是3個字的人SELECT * FROM student WHERE NAME LIKE '___';-- 查詢姓名中包含德的人SELECT * FROM student WHERE NAME LIKE '%德%';DQL:查詢語句
1. 排序查詢* 語法:order by 子句* order by 排序字段1 排序方式1 , 排序字段2 排序方式2...* 排序方式:* ASC:升序,默認的。* DESC:降序。* 注意:* 如果有多個排序條件,則當前邊的條件值一樣時,才會判斷第二條件。2. 聚合函數(shù):將一列數(shù)據(jù)作為一個整體,進行縱向的計算。1. count:計算個數(shù)1. 一般選擇非空的列:主鍵2. count(*)2. max:計算最大值3. min:計算最小值4. sum:計算和5. avg:計算平均值* 注意:聚合函數(shù)的計算,排除null值。解決方案:1. 選擇不包含非空的列進行計算2. IFNULL函數(shù)3. 分組查詢:1. 語法:group by 分組字段;2. 注意:1. 分組之后查詢的字段:分組字段、聚合函數(shù)2. where 和 having 的區(qū)別?1. where 在分組之前進行限定,如果不滿足條件,則不參與分組。having在分組之后進行限定,如果不滿足結(jié)果,則不會被查詢出來2. where 后不可以跟聚合函數(shù),having可以進行聚合函數(shù)的判斷。-- 按照性別分組。分別查詢男、女同學的平均分SELECT sex , AVG(math) FROM student GROUP BY sex;-- 按照性別分組。分別查詢男、女同學的平均分,人數(shù)SELECT sex , AVG(math),COUNT(id) FROM student GROUP BY sex;-- 按照性別分組。分別查詢男、女同學的平均分,人數(shù) 要求:分數(shù)低于70分的人,不參與分組SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex;-- 按照性別分組。分別查詢男、女同學的平均分,人數(shù) 要求:分數(shù)低于70分的人,不參與分組,分組之后。人數(shù)要大于2個人SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id) > 2;SELECT sex , AVG(math),COUNT(id) 人數(shù) FROM student WHERE math > 70 GROUP BY sex HAVING 人數(shù) > 2;4. 分頁查詢1. 語法:limit 開始的索引,每頁查詢的條數(shù);2. 公式:開始的索引 = (當前的頁碼 - 1) * 每頁顯示的條數(shù)-- 每頁顯示3條記錄 SELECT * FROM student LIMIT 0,3; -- 第1頁SELECT * FROM student LIMIT 3,3; -- 第2頁SELECT * FROM student LIMIT 6,3; -- 第3頁3. limit 是一個MySQL"方言"總結(jié)
以上是生活随笔為你收集整理的[JavaWeb-MySQL]DQL_查询表中记录,语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [JavaWeb-MySQL]约束(非空
- 下一篇: [JavaWeb-MySQL]DDL_操