SQL文には、データの取得、登録、修正、削除等があります。
一通り、書き方は学習しましたが、SELECT文について、さらに詳しくみていきます。
例題として、下記の販売管理テーブルを使用します。
19.1.すべてのデータを取得
テーブル内のすべてのデータを取得するには、"SELECT * ~“を使用します。
※SQL文におけるコマンドは大文字でも小文字でも構いません。
慣習として、コマンドは大文字で書きます。
19.2.特定のカラムを取得
特定のカラムのデータを取得するには、「*」の代わりに「カラム名」を使用します。
19.3.平均値
データベースから、平均値を取り出すには、AVG()関数を使用します。()内には、カラム名を入れます。
19.4.合計
データベースから、合計を取り出すには、SUM()関数を使用します。()内には、カラム名を入れます。
19.5.レコード数
データベースから、レコード数を取り出すには、COUNT()関数を使用します。()内には、カラム名を入れます。
19.6.取得数指定
データベースから取り出すデータの数を制限するには、limitを使用します。
19.7.特定のデータを取得
特定のデータを取得するには、「where」 を使用します。
19.8.比較
特定のデータを取得するとき、比較演算子が使用できます。
19.9.~の間にあるデータ
あるカラムの値が〇〇と△△の間にあるデータを取り出すには、betweenを使用します。
19.10.検索
検索するには、LIKEを使用します。
「%」 は、ワイルド・カードを表わします。ワイルド・カードは、”任意の文字列”です。
'%山%' は、山崎、大山、小山田のどれにも合致します。
'%山' は、大山に合致します。
'山%' は、山崎に合致します。
19.11.昇順
テーブルからデータを昇順に並べて取り出すには、ORDER BY を使用します。
例)下記の商品テーブルから、商品コード順にデータを取得します。
※逆順に取り出す場合は、「DESC」を付けます。
"SELECT * FROM shohin ORDER BY shohin_code DESC";
※昇順であることを明示する場合は、ASCを付けます。
"SELECT * FROM shohin ORDER BY shohin_code ASC";
19.12.グループ
あるカラムの値が同じものをグループとして処理できます。 GROUP BYを使用します。
19.13.結合
2つのテーブルを結合して表示できます。 JOINを使用します。
※上の結合を内部結合といいます。結合キー(customer_no)が両方のテーブルに存在する場合のみ結果として取得します。すなわち、どちらかのテーブルに存在しないキーのデータは結果には現れません。
19.14.エイリアス
上記の結合条件は、書くと長いので、テーブル名にエイリアスを使用して、短く書くことができます。 エイリアスは「as」で指定します。
また、取り出すカラム名を指定して、シンプルにします。
※片方のテーブルにしかないカラム名は、テーブル名を省略できますが、テーブル名を指定する方がエラーが起こる確率は減ります。
19.15.左結合
2つのテーブルを結合する時、左側のテーブルを基準として結合します。
左側のテーブルのデータはすべて表示します。右側のテーブルは、キーが左側のテーブルにあるデータのみ表示します。 LEFT JOINを使用します。