コンテンツの単一テーブルのクエリの基礎

あなたは、where句を使用することができます
1.比較演算子:>、<、> =、<=、= ,!
80と100の間の2:80と100の間の値は、以下が挙げられる:両側
(80,90,100)3. 80または90または100であります
「暁%」_%など4、であってもよいが、%は、任意の数の文字を表し、文字が表さ_  
xの冒頭のx%、
%A%含むA
%エンドTT
論理演算子:演算子は、論理条件とか複数で直接使用することができます
グループによるグループ
ヒント、裏の各フィールドがグループ化されている場  
バック後の選択グループは、フィールドでグループに加えて、他のフィールドに表示されないことができます
しかし、集約関数は、連携して使用することができます
 選択GROUP_CONCAT(名)、郵便、郵便で従業員のグループから(ID)を数えます。
集計関数  
最大値を選択する最大値()
最小分間()
AVG()平均
合計()の合計
数()求めるの総数
基準をフィルタリングする一般的なパケットと一緒に重合性の機能を有する後  
順序によって順序
DESC降順
ASC昇順
給与DESCにより、従業員の順序から*を選択します。
の定義された制限数を取ります
給与DESCリミット2により、従業員の順序から選択*; 2を取り始めて
給与DESCの限界1,2により、従業員の順序から選択*;第二のスタートから2を取るために
シンプルな演習39.100.47.247
クラス1 2 3  
クラスサイズ
CLSを選択し、CLSによって(名前)のグループを数えます。
ディスプレイの20人よりも古い情報2
クラス年齢> 20リミット2から選択*;
高いから学生の低スコアにソートされた20歳以上の情報は、2を表示します
select * from class where age>20 order by score desc limit 2
  每个班级的平均成绩
select cls,avg(score) from class group by cls;
年龄小于18岁,且成绩大于70分的同学信息
select * from class where age < 18 and score > 70;
年龄小于20岁,且平均成绩大于70分的同学信息
select name,avg(score) from class where age < 20 group by name having avg(score) > 70;
选出成绩在70到90之间的同学信息并按年龄降序排列
select * from class where score between 70 and 90 order by age desc;
筛选出成绩不小于80分的信息。从第2条显示,显示3条。
select * from class where score>=80 limit 1,3;  
每个班级年龄大于20 的同学数量,及最高成绩。
select cls, max(score), count(name) from class where age>20 group by cls;
重点中的重点:关键字的执行优先级
1 from
2 where
条件里面不能出现聚合函数
分组之前筛选的条件
3 group by
4 聚合函数(max(id)等)
5 having 一般和聚合函数连用
分组之后筛选条件
6 select 结果
7 distinct 去重
8 order by
9 limit

おすすめ

転載: www.cnblogs.com/Darry-Ring/p/12141990.html