こんにちは!ことです!
最近お昼に毎日カレーを食べてるので、よく「毎日カレーで飽きないの?」と聞かれますが、
全然飽きません(^^
・GROUP BY
・サブクエリ
・結合
以上の三つです
GROUP BYは、テーブルをグループ化するときに使うもので、
SELECT グループ化の基準列名… 、 集計関数 FROM テーブル名 (WHERE 絞り込み条件) GROUP BY グループ化の基準列名 ;
このような構文です。
GROUP BYは主に、集約関数を使うときに利用し、それを使うと基準列名ごとの値を求めることができます。
例えば、商品テーブル(レコード:商品名、商品分類、販売個数…)このようなテーブルがあったとして、商品分類ごとの販売個数の合計を求めたかったとします。
そういった場合、基準列名が商品分類となり、集約関数として、SUM(販売個数)
を用います。
また、サブクエリは複数のクエリ(命令文)を組み合わせて、一つのクエリが生成されたものです。
構文としては以下の形です。
SELECT カラム名 FROM ( SELECT カラム名 FROM テーブル名 )AS テーブルの別名 ;
結合に関しては内部結合と、外部結合があり、
それぞれの違いは、内部結合の方は2つのテーブルで一致したデータ行のみ取得するのですが、
外部結合の方は一致したものと、一致しないデータ行も含みます。
一致しないデータ行は二つのテーブルのうち、どちらのテーブルかを選択します。
構文としては以下の形です。
内部結合 SELECT カラム名 FROM テーブル名1 INNER JOIN テーブル名2 ON テーブル名1.カラム名 = テーブル名2.カラム名; 外部結合 SELECT カラム名 FROM テーブル名1 (RIGHT または LEFT) JOIN テーブル名2 ON テーブル名1.カラム名 = テーブル名2.カラム名;
外部結合の方はRIGHTを使うとテーブル名2の方を基準(データを含ませる)にして、
LEFTの方を使うとテーブル名1の方を基準にします。
今日は外部結合や内部結合に入り、正直それらの違いをしっかり分かってなかったので、これを機に知ることができてよかったです、
また、SQLの課題の方が終わりましたので、これからJavaSilver取得のために勉強を進めていきたいと思います。
以上!ではまた~