データベーススペシャリスト(データベース言語SQL)

今日はSQLです。室内なのにすごく寒いです。氷点下8度やもんな・・・。
寒いほうが頭が回るはずですが、手がかじかんで寒い。
データベーススペシャリストのSQLはSQL92がベースらしいです。

1:データモデルとSQL用語の比較






2:SELECT文
・すべてのデータの選択
SELECT * FROM 表名
・射影(表中の特定の列の検索)
SELECT 列名1,列名2,...列名n FROM 表名
・選択(表中の特定の行の検索)
SELECT * FROM 表名 WHERE 検索条件
・選択と射影(表中の一部分の検索)
SELECT 列名1,列名2,...列名n
FROM 表名
WHERE 検索条件
・検索結果からの冗長行排除
SELECT DISTINCT 列名1,列名2,...列名n FROM 表名


3:検索条件で指定する述語
ブール演算子





優先順位「( )>NOT>AND>OR」

比較述語BETWEEN述語IN述語
A  比較演算子  B
BETWEEN A AND B
IN (A,B....)









LIKE述語
LIKE パターン文字列
パターン文字列「%」は任意の長さの文字列
「_」は長さ1の文字列

NULL述語
列 IS NULL
副問合わせ
SELECT 列名1,列名2,...列名n
FROM 表名
WHERE 条件=
(SELECT 列名1,列名2,...列名n FROM表名)

条件部で別表への問い合わせをしたりするときに使う。
 複数行の結果を返す副問合わせはエラーとなる。
限定比較述語
ANY、SOME:いずれかの行を満たすかどうか
ALL:すべての行を満たすかどうか
EXISTS述語
EXISTS 副問合せ
単純に副問合わせの条件を満たすかどうかということ。

4:結合検索
・直積演算
SELECT * FROM 表1,表2
2つの表のすべての組み合わせを表示・・・。
・結合演算
SELECT * FROM 表1,表2
WHERE
表1.列名1=表2.列1
2つの表を1つのキーで結びつけ
自己結合
SELECT *
FROM 表1 AS 相関名1,表1 AS 相関名2
WHERE 相関名1.列名1=相関名2.列名1
同じ表を結合させる。
外部結合 
+左外部結合(表1を全部出す)
表1 LEFT OUTER JOIN 表2 ON 検索条件
+右外部結合(表2を全部出す)
表1 RIGHT OUTER JOIN 表2 ON 検索条件
+内結合(表1と表2の一致分を全部出す)
表1 INNER JOIN 表2 ON 検索条件
自然結合
同じ項目名がある場合に勝手に1つにまとめてくれる。


5:集合関数グループ化
・集合関数の種類






・グループ化
GROUP BY 列名
グループの検索条件
HAVING 検索条件


6:集合演算
和集合演算
問合わせ式 UNION 問合せ式
必ず同じ列構成である必要がある。


7:順序付け
検索行の順序付け 
ORDER BY 列名
ASCは昇順、DESCは降順で列名の後で指定可

8:表中のデータ更新
行の挿入
INSERT INTO 表名(列1,列2,...列n)
VALUES(値1,値2...値n)

行の更新
UPDATE 表名
SET 列名=値
WHERE 検索条件
検索条件の指定がないと表内データすべてを更新
行の削除
DELETE FROM 表名
WHERE 検索条件
検索条件の指定がないと表内すべてのデータを削除

9:カーソルを用いたデータ操作
・カーソル宣言
DECLARE カーソル名 CURSOR FOR
問合せ式
・OPEN文
OPEN カーソル名
・FETCH文
FETCH カーソル名 INTO 相手指定
・CLOSE文
CLOSE カーソル名

10:動的SQL
PREPAREで準備してEXECUTEでSQLを実行
まずSQLを準備してからEXECUTEで実行というパターン
ACCESS VBAでSQLを実行するときのEXECUTEというイメージ

なんとかSQLまとめ完了
ある程度の数を読みこなさないとダメやな。
集合とかよりSQLを読むほうが概念は理解しやすい。
昨日の範囲とつながりますね。

◆SQL一覧
http://refer.it-manual.com/sql.html
http://jibun.atmarkit.co.jp/lskill01/rensai/bronzesql01/bronzesql01.html
http://sql.1keydata.com/jp/sql-select.php
http://itpro.nikkeibp.co.jp/article/lecture/20061211/256500/

コメント

このブログの人気の投稿

証券外務員1種勉強(計算式暗記用メモ)

GASでGoogleDriveのサブフォルダとファイル一覧を出力する

マクロ経済学(IS-LM分析)