BLOG

【プログラマー 研修 SQL】ことの記録9

こんにちは!ことです!

最近お昼に毎日カレーを食べてるので、よく「毎日カレーで飽きないの?」と聞かれますが、

全然飽きません(^^

本日の内容

・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取得のために勉強を進めていきたいと思います。

以上!ではまた~

BLOGトップへ戻る