第二回講座-Eラーニング
SQLの初歩に関する講座(前半)・・・SELECTとは?結合演算子とは?
DBMS概要:DBMS(Database Management System)はDatabaseを効率よく構築、運用するためのSoftwareSystem
- 機能
- DB定義機能…SCHEMAの定義を支援する機能。DDL,DSDL,DMCLが該当。
- DB操作機能…DBの構築、再構築、操作を支援する機能。利用者によるDBの操作を支援するDMLの機能。
- DB制御機能…保全、機密保護、排他制御、障害回復、ACCESS制御機能。共有資源管理。
- TRANSACTION管理機能…複数のTRANSACTIONの実行を矛盾なく制御。TRANSACTINごとにDATAとPROGRAMを切り離す。
- USERVIEW機能…TABLEの一部を取り出し、一つのTABLEとして見せる機能。
- 種類
- C/S型DBMS…調査中
- Personal型DBMS…調査中
TABLE操作
- 射影・選択演算:SELECT文…作成されたTABLEから、DATAの検索
- 並び替え・集計など、いろいろな情報を取り出すSQL文
- 射影…TABLEから、必要な列を取り出す方法
- FIELDに別名を付ける…集計、GROUP化、複数TABLEからの射影で同じ名前のFIELDがある場合などに、FIELDに分かりやすい名前を付けることがあります。
- DISTINCT…選択された行に重複がある場合、そのうち1行のみ表示・式(算術演算 等)…FIELDには、演算結果も指定できます。式を記述した場合、FIELD名がSYSTEM側で付けられてしまうのでASを使用して、FIELDの列名を指定する必要があります。
- SELECT…TABLEから条件を満たす行を抽出すること
- IS NULL…FIELDにDATAがないこと。空文字("")とは別。
- BETWEEN A AND B…WHERE条件の中に、範囲指定をしたい場合はBETWEEN A AND B を使用する
- IN 演算子…WHERE条件の中で、条件が複数個ある場合に使用
- 並び替え(SORT)…ORDER BY [FIELD_NAME] ASC/DESC 選択した行を並べ替えして表示します。ASC(昇順)/DESK(降順)を省略すると昇順になります。
- GROUP化(GROUP BY HAVING)…選択された行をGROUP化します。
- GROUP BY:GROUP化の基準となる列の指定。
- HABING:GROUP化された列についての条件指定(※単独では使用しない)
- GROUP関数…AVG(n),COUNT(*),COUNT(式),MAX(n),MIN(n),SUM(N)
競合演算:二つ以上の表、又はVIEWを競合
- 直積…TABLE同士の全ての組み合わせが結果として戻ってくる
- 内部結合(等価結合/等結合)…結合条件に等価演算子を含む結合
- 自己結合…同一の表の結合で、FROM句に、二階同じ表名を指定する。
- 外部結合(左結合/右結合)…二つ以上の表を結合する場合に、条件に合わなくても一方の列、または両方を表示する。SQL99で企画化されるまでは、外部結合はDBMSによって異なる。通常OUTER JOIN句を使用する。
- LEFT OUTER JOIN…一致する条件が右(JOIN句)に存在しなくても左(FROM句)を表示する
- RIGHT OUTER JOIN…一致する条件が左(JOIN句)に存在しなくても右(FROM句)を表示する
- FULL OUTER JOIN…一致する条件が存在しなくても両方とも表示する



