(4)単一テーブルのクエリ

4.1基礎となる問合せ

データテーブルからデータを照会するためのMySQLの基本的な文がselect文で、select文は、レコードのコレクションとして見られているデータベースにクエリの結果を返します。select文では、ユーザは、異なるニーズに応じて別のクエリ条件を使用することができます。

1.データテーブルとテーブル構造を作成します。

内蔵の3つのテーブル

2.クエリのすべてのフィールド

すべてのフィールドを発見して、次のようにすべてのデータのルックアップテーブルという、MySQLの特定の構文でテーブルを照会するためのデータを使用してselect文があるさ:
select 字段名1,字段名2,...,字段名n from 表名;
上記の構文では、フィールド名は、クエリデータの名前を示すテーブル名テーブル、テーブルのフィールド名ことを示しています。
MySQLでは、ワイルドカード「*」を提供して構文は次のように、ワイルドカードは、SQL文を書くために、フィールド名のすべてを置き換えることができます。
select * from 表名;

3.クエリの指定したフィールド

select 字段名1,字段名2,... from 表名;

4.2条件お問い合わせ

関係演算子1.クエリ

句は、クエリを指定するselect文で使用されるので、構文は次のとおりである、フィルタリングされたデータをチェックアウトすることができます。
select 字段名1,字段名2,... from 表名 where 条件表达式;
「!=」と「<>」同じ表現ではなく、個々のデータベースをサポートしていません「!=」、使用することをお勧めしていることに注意してください「<>」。

2.付きクエリとキーワード

次のように正しいデータにクエリをフィルタリングすることができ、選択クエリデータ、時々ない単にクエリが、クエリ複数の条件を使用する場合、MySQLではANDキーワードクエリを使用して接続することができ、特定の構文は次のとおりです。
select 字段名1,字段名2,... from 表名 where 条件表达式1 and 条件表达式2 ...;

3.付きまたはキーワードクエリ

 select 字段名1,字段名2,... from 表名
 where 条件表达式1 or 条件表达式2 ...;

またはないキーワードクエリで4ベルト

条件が満たされない場合、MySQLは、指定されたコレクションかどうかを決定するためにフィールド内に設けられ又はされていない場合、データは次のように特定の構文は、除外される:
select 字段名1,字段名2,... from 表名 where 字段名 [not] in(元素1,元素2,...) ...;
上記の構文、フィールド名、フィールド名等が2を表します句はフィールドはオプションではなく示しフィルタリングされるフィールド名、フィールド名を照会する必要があり、セット内など範囲、素子1、素子2を表していない集合の要素です。

バンドがnullの場合、またはヌルのキーワードクエリではありません

また、空の文字列とは異なるデータ・テーブル内のヌル値、及び0とは異なるNULL値があってもよいです。使用がnullであるか、nullがキーワードは、MySQLで次のように具体的な構文は、nullであるかどうかを決定ではありません。
select 字段名1,字段名2,... from 表名 where 字段名 is [not] null;

クエリの間とキーワード6.ベルト

指定された範囲内で、除外されない場合、次のように指定された範囲内のフィールドの値は、特定の構文であるかどうかを決定するための間でキーワード。
select 字段名1,字段名2,... from 表名 where 字段名 [not] between 值1 and 值2;

キーワードクエリのような7バンド

いくつかの場合において、それは、ファジークエリする必要があるかもしれない
select 字段名1,字段名2,... from 表名 where 字段名 [not] like '匹配字符串';
指定された文字列を一致させるために使用される「文字列と一致する」、文字列はプレーンな文字列であってもよく、それはまた、(_)パーセント記号(%)を含み、下線ができます0〜Nパーセントの文字のいずれかを表すワイルドカード文字列、任意の文字を強調しました。

distinctキーワードクエリ8.

MySQLは次のように具体的な構文は、データ重複排除のための個別のキーを提供し、
select distinct 字段名 from 表名;

4.3高度な検索

1.ソート問い合わせ

データの結果セットのユーザ定義の順序を容易にするために、MySQLはクエリ結果のソート順のために提供されます。
select 字段名1,字段名2,... from 表名 order by 字段名1 [ASC|DESC], 字段名2[ASC|DESC]...;
上記の構文では、等フィールド名1、フィールド名2は、指定されたキーワードを選別する手段、ASCとDESCパラメータが昇順にソートするASCを表し、オプションであることを示した後にフィールド名がフィールド名で、注文を照会する必要が表しますこのパラメータは、デフォルトの昇順ソートを書いていない場合、DESCは、代表に従って降順。

2.重合機能

クエリデータは、統計データのために必要とされてもよいした後、MySQLは特に、次の表に、また、集計関数としても知られている統計の機能のセットを提供します。
|関数名は|アクション|
| - : - | - : - |
| COUNTは()|コラムの行数を返します|
| SUM()|列の値を返します|
| AVGは()|コラムの平均値を返します。 |
| MAX()|カラムの最大値を返す|
|分()|カラムの最小値を返します|

  • count()関数

    カウント()関数は、次の構文、有する
    select count(*|1|列名) from 表名;
    上記の構文は、関数は3つの選択可能なパラメータ、COUNTを有する(()カウント数(列名)特定の列を有する値を返し;)を返した行の数が、NULLが含まれています行の数は、NULLを含まない;カウント(カウントと(1)、がある(1)データテーブルの主キー、カウントない場合に効率結果)バック、同じであるが、より高いであろう。
    また、クエリの結果セットの列名が別名であってもよいし、唯一の「エイリアスとして」ボタンが続く)(カウントする必要があります。

  • 合計()関数

    型が列数値型を指定しない場合、値の和()関数は、指定された列を計算するために使用され、その後、計算結果は次のように特定の構文は、0です。
    select sum(字段名) from 表名;

  • AVG()関数

    カラム型が数値型を指定されていない場合AVG()関数は、指定された列の平均値を計算するために使用され、その後、計算結果は次のように特定の構文は、0です。
    select avg(字段名) from 表名;

  • MAX()関数

    指定された列は、操作を選別文字列は、特定の構文は以下の通りである、文字列型である場合MAX()関数は、指定された列の最大値を計算するために使用されます。
    select max(字段名) from 表名;

  • 分()関数

    分()関数は、指定された列は、文字列型である場合は、次のように操作をソートする文字列、特定の構文は、列を指定された最小値を計算するために使用されます。
    select min(字段名) from 表名;

3.グループ化クエリ

あなたは、構文は次のとおりである、MySQLでは、クエリをグループ化することにより、キーワード群を使用することができます。
select 字段名1,字段名2,... from 表名 group by 字段名1,字段名2,...;
上記の構文では、名前でグループの背後にあるフィールドは、クエリパケットの結果に基づいています。
一般に重合機能と一緒に使用して、グループ。

4. HAVING句

MySQLは、濾過後のデータパケットのhaving句を提供句は、データパケットの前に濾過される場合、集約関数はその背後に使用することができないが、それは、その背後に集約関数で使用することができます。次のように句式の構文を持つことです。
select 字段名1,字段名2,... from 表名 group by 字段名1,字段名2,...[having 条件表达式];

5. LIMIT]タブ

クエリデータは、一般に、いくつかの、数十またはそれ以上のデータを返しますが、ユーザーはそれらのいくつかを必要とするかもしれない、とこのクエリは大幅にこの問題を解決するために、プログラムのパフォーマンスに影響を与える、MySQLの申し出た場合クエリ結果を制限するために使用するキーワードの数を制限します。構文は次のとおりである制限されます。
select 字段名1,字段名2,... from 表名 limit [m,] n;
上記の構文の最初のレコードを表す0の、第1のパラメータMは任意であり、開始インデックスを表し、指定されていない場合、デフォルト値、2番目のパラメータnが代表から、選択されなければなりませんM + 1-Nレコードは、レコードをフェッチし始めます。

おすすめ

転載: www.cnblogs.com/adtxl/p/11228900.html
おすすめ