「大人の教養・知識・気付き」を伸ばすブログ

一流の大人(ビジネスマン、政治家、リーダー…)として知っておきたい、教養・社会動向を意外なところから取り上げ学ぶことで“気付く力”を伸ばすブログです。目下、データ分析・語学に力点を置いています。

MENU

データベースとSQL(03/20)

はじめに

 データ分析を行う場合、データの管理運用、蓄積も重要な論点となる。そのためにはSQLやデータベースの知識が求められる。そこでまずは

を基にSQLの勉強をしていく。

2. 検索の基本

 テーブルからデータを取り出すとき、\mathrm{SELECT}文を用いる。これを「問い合わせ」またはクエリ(\mathrm{query})という。

  • テーブルからデータを選択する際には\mathrm{SELECT}文を用いる。
  • 列には表示用の別名を付与できる。
  • \mathrm{SELECT}句には定数や式を書くことができる。
  • キーワード\mathrm{DISTINCT}を指定すると重複する行を省くことができる。
  • \mathrm{SQL}文の中にコメントを付与することができる。
  • \mathrm{WHERE}句により検索条件に合致する行をテーブルから選択する。
-- 基本構文
SELECT <取り出したい列名> AS <付けたい表示名> -- ASは必須ではない。付けないとテーブルで定義された列名が表示される。日本語名は""で囲む
FROM <取得対象となるテーブル名>
/*
複数行に渡るコメントを書きたい場合、
 「スラッシュ+アスタリスク+アスタリスク+スラッシュ」
とする。
*/

-- 全列を取りたい場合:SELECT直後に列名に代わりアスタリスクを付与
SELECT *
FROM <取得対象となるテーブル名>

-- 定数の出力:文字列、数字など任意の型の値を想定
SELECT <表示させたい定数> AS XXX,
      <表示させたい変数名>
FROM <取得対象となるテーブル名>

-- 重複列を省いて出力させたい:SELECT句直後にDISTINCTを付与
SELECT DISTINCT <重複を削除する対象となる列名>
FROM <取得対象となるテーブル名>

-- 条件を満たす行のみを抽出したい場合:WHERE文を利用
SELECT <取り出したい列名> AS <付けたい表示名>
FROM <取得対象となるテーブル名>
WHERE <条件式>;

-- ある列の値でソートしたい場合、WHEREの後に
SELECT <取り出したい列名> AS <付けたい表示名>
FROM <取得対象となるテーブル名>
WHERE <条件式>
ORDER BY <ソート対象の列名> --昇順にしたければ更にASC 、降順にしたければDESCを列名の直後に付与。複数列を指定することも可。BYに近いもので優先してソートし、同一順位のものをその直ぐ右の列名でソートする
  • \mathrm{DISTINCT}\mathrm{NULL}も1種類の値として扱う。
  • \mathrm{WHERE}文で等式を条件に使う場合、プログラム言語でよくある==ではなく、=で良い。
  • \mathrm{SQL}では句の記述順番が決まっており、変更した場合エラーになる。順番は\mathrm{SELECT}\rightarrow\mathrm{FROM}\rightarrow\mathrm{WHERE}\rightarrow\mathrm{ORDER}である。

2.1 算術演算子と比較演算子

  • 両辺に指定された列や値を用いて演算を行う記号を演算子という。
  • 算術演算子を用いることで四則演算が可能である。
  • 括弧()を用いることで、囲まれた演算の優先順位を上げることができる。
  • \mathrm{NULL}を含む計算を行うと結果は\mathrm{NULL}を返す。
  • 比較演算子を用いることで列や値との間で「等しい・等しくない・大・小」を比較する。
  • \mathrm{NULL}か否かの比較には\mathrm{IS\ NULL}演算子または\mathrm{IS\ NOT\ NULL}演算子を用いる。
  
算術演算子の意味
記号
 
比較演算子の意味
記号
  
可算
+
 
~と等しい
=
  
減算
-
 
~と等しくない
<>
  
乗算
*
 
~以上
>=
  
除算
/
 
~よりも大きい
>
  
 
~以下
<=
  
 
~よりも小さい
<
  • 等号に関する比較演算子に算用数字を用いる場合、数値型なのか文字型なのかによって結果が変わるので注意。文字列型は辞書式で順序が決まっている。
  • \mathrm{NULL}は算術演算子のみならず比較演算子\mathrm{NULL}を返す。
プライバシーポリシー お問い合わせ