JavaWeb學習--MySql資料庫(DQL)
阿新 • • 發佈:2022-01-16
- SQL分類
DDL:操作資料庫,表等
DML:對錶中的資料進行增刪改
DQL:對錶中的資料進行查詢
DCL:對資料庫進行許可權控制
- DQL
基礎查詢
select 列名 from 表名; //查詢某列
select * from 表名; //查詢全部列
select distinct 列名 from 表名; //去除重複資料
select 列名 [as] 別名 from 表名; //給列名起別名,用於列名複雜方便後續操作,as可省略
條件查詢
select 列名 from 表名 where 條件; //查詢符合條件某列 select 列名 from 表名 where 條件1 between 條件2; //查詢符合條件1和條件2之間列 select 列名 from 表名 where 條件1 or 條件2; //查詢符合條件1或條件2列 select 列名 from 表名 where 條件 is/is not NULL; //查詢條件為空的某列,NULL值不能用等號比較,只能用is/is not比較 select 列名 from 表名 where 條件 like '_馬%'; //模糊查詢,_為單個任意字元,%為多個任意字元
排序查詢
select 列名 from 表名 order by 排序欄位名 [ASC/DESC]; //ASC升序(預設),DESC降序
select 列名 from 表名 order by 排序欄位名1, 排序欄位名2, ...; //先按欄位1排序,欄位1相同在按欄位2排序
分組查詢
聚合函式:
count(列名) 統計數量
max(列名) 最大值
min(列名) 最小值
sun(列名) 求和
avg(列名) 求平均值
注意:null值不參與所有聚合函式運算
select 聚合函式名(列名) from 表名;
分組查詢
select 列名 from 表名 [where 部分] group by 分組欄位名 [having 部分]; //where是對分組前進行限定,having是分組後結果進行過濾 //where不能對聚合函式進行判斷,having可以 //執行順序:where>聚合函式>having
分頁查詢
select 列名 from 表名 limit 起始索引, 查詢條目數;
//起始索引:從0開始
//在MySQL中分頁是limit,Oracle是rownumber,SQLServer是top
//計算公式:每頁起始索引 = (當前頁碼-1)*每頁顯示條數