MYsql-3

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來處理


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