1、limit 分條查詢數據
例如:
select * from student limit 0,3 //0表示從第幾個開始(索引),3表示每次取幾條
2、對字段進行條件判斷
語法:case 字段名 when 條件 then 結果 end as 查詢結果顯示的字段名
例如:
select sname, case sex when 0 then '女' when 1 then '男' end as nsex from student
3、排序(order by)
desc 降序排列
asc 升序排列
如果需要對漢字字段進行排序,需對該字段進行設置,案例如下:
select sname,s_sex,s_age from student order by convert(sname using gbk) asc;
可以對多個字段進行排序
例如:select sname,s_sex,s_age from student order by s_age,convert(sname using gbk) asc;
如果s_age字段的值相同時,則按照第二排序字段指定的排序方式進行排序,
沒有指定第二個排序字段時,則按照在記錄中出現的先後順序進行排序
4、分組查詢(group by),一般會與聚合函數同時出現
max() 最大值
min() 最小值
sum() 求和
avg() 求平均數
count() 統計記錄數
5、爲字段定義別名,一般用於查詢語句
語法: select ono as 科目 from score; //科目就是ono這個字段的別名,查詢結果顯示的也是科目
例如:select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as 平均分,sum(cscore) as 總分 from score group by ono;
11)虛擬條件查詢(having)
例如: select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as
平均分,sum(cscore) as 總分 from score group by ono having avg(cscore)<75;
注意:如果一個查詢語句中同時出現以下關鍵詞,先後順序如下:
where->group by->having->order by->limit
例如: select ono as 科目, max(cscore) as 最高分,min(cscore) as 最低分,avg(cscore) as
平均分,sum(cscore) as 總分 from score group by ono having avg(cscore)>75 order by ono limit 1,2;
6、字符串截取
left(str,length) //str表示被截取的字段名,length表示截取的長度,從字符串開始位置截取
right(str,length) //str表示被截取的字段名,length表示截取的長度,從字符串結束位置截取
substring(str,position,length) //str表示被截取的字段名,position表示開始截取的位置,從1開始,length表示截取長度
7、關於計算
select *,(gprice1-gprice) as lirun from goods where (gprice1-gprice)*gkucun>500;
注意:字段之間可以進行算術運算,如果參與運算的是字符串類型,那麼該字符串會被當做0來處理