MYSQL——DQLクエリー言語
3078 ワード
DQLクエリ文
構文
ベースクエリークエリー単一フィールド クエリー複数フィールド
重複を削除
注意重複を除去するには、重複を除去するには結果セットが完全に同じである必要があります.ソースデータが異なる場合でも構いませんが、検出された結果セットが同じであることを確認する必要があります.
計算カラム
Nullが関与する演算結果がすべてNullである場合
エイリアスアクション
asキーワードクエリーするフィールドに別名を付ける
条件クエリー where句後跟条件 演算子
、 =、 =、 <>
BETWEEN...ANDは1つの範囲で IN(集合)集合は複数の値を表し、カンマで を区切る. LIKE'張%'ファジイクエリ プレースホルダ _:単一プレースホルダ %:複数の任意の文字
IS NULLは、Nullの列の値をクエリーします.=null と書くことはできません. andまたは&& orまたは| notまたは!
クエリーのソート
構文 order by句 order byソートフィールド1ソート方式1、ソートフィールド2ソート方式2 ソート方式 asc昇順デフォルトのソート方法 desc降順降順ソート 複数のソート複数のソート条件がある場合、現在のエッジの条件値が同じである場合、第2の条件 が判断される.
集約関数
1列のデータを1つの全体として縦方向の計算を行います.
Mysqlでの集約関数 count計算個数 max計算最大値 min最小値 を計算 sum計算と avg計算平均値
注意集約関数の計算はnull値を除外し、null値は集約関数の計算ソリューションに関与しません:1.計算時に空でない列を選択して計算します.プライマリ・キー COUNT(*) 2.IFNULL関数 の使用
グループクエリー
グループ化は、一般的に、同じ特徴を持つデータの統計に使用されます.
構文 groupbyパケットフィールド
注意:グループ化後のクエリのフィールドは、1.パケットフィールド2の集約関数は、パケットが統計的に同じクラスのデータであるため、この条件下でクエリされるのはデータのセット である. whereとhavingの違いはいずれもパケットにおいて条件判断を行う である. whereはパケットの前に限定するが、条件を満たさなければパケットに関与しないhavingはパケットの後に限定し、結果を満たさなければクエリ にはならない. where後は重合関数に従うことはできず、havingは重合関数の判断 を行うことができる.
ページングクエリ
構文
LIMITから始まるインデックス、クエリーする数
一般式
開始インデックス=(現在のページ-1)*各ページに表示されるエントリ数
に注意
ページ分けLIMITはMYSQLの「方言」です
構文
SELECT from Where group by having order limit
ベースクエリー
SELECT address from student;
SELECT name,age from student;
重複を削除
SELECT DISTINCT address from student;
注意重複を除去するには、重複を除去するには結果セットが完全に同じである必要があります.ソースデータが異なる場合でも構いませんが、検出された結果セットが同じであることを確認する必要があります.
計算カラム
--
SELECT name,math+english FROM student;
Nullが関与する演算結果がすべてNullである場合
SELECT name,math,english,math+IFNULL(english,0) FROM student;
エイリアスアクション
asキーワードクエリーするフィールドに別名を付ける
--
SELECT name,math,english,math+IFNULL(english,0) FROM student;
条件クエリー
、 =、 =、 <>
SELECT * FROM student where age >= 20;
クエリーのソート
構文
# asc
SELECT * FROM extb1 ORDER BY money ASC;
# desc
SELECT * FROM extb1 ORDER BY money DESC;
#
SELECT * FROM extb1 ORDER BY age ASC , money DESC;
集約関数
1列のデータを1つの全体として縦方向の計算を行います.
Mysqlでの集約関数
SELECT COUNT(NAME) FROM extb1;
# MAX
SELECT MAX(money) from extb1;
# MIN
SELECT MIN(age) from extb1;
# SUN
SELECT SUM(age) FROM extb1;
# AVG
SELECT AVG(money) FROM extb1;
注意集約関数の計算はnull値を除外し、null値は集約関数の計算ソリューションに関与しません:1.計算時に空でない列を選択して計算します.
SELECT COUNT(IFNULL(name,0))FROM extb1;
グループクエリー
グループ化は、一般的に、同じ特徴を持つデータの統計に使用されます.
構文
#
SELECT sex,AVG(age) FROM extb1 GROUP BY extb1.sex;
#
SELECT sex,AVG(age),COUNT(*) FROM extb1 GROUP BY extb1.sex;
SELECT sex,AVG(age),COUNT(*) FROM extb1 WHERE age >18 GROUP BY extb1.sex HAVING COUNT(*)>3;
#
注意:
ページングクエリ
構文
LIMITから始まるインデックス、クエリーする数
一般式
開始インデックス=(現在のページ-1)*各ページに表示されるエントリ数
に注意
ページ分けLIMITはMYSQLの「方言」です