21日目 Oracle SQL
SQLを扱う研修に入った。
文法は特に難しいことはない。新しく覚えることもそこまで多くはないかな。
ただ、今データが入っているテーブルをイメージする力が求められる。
行と列、ROWとCOLUMN。ここらへんがごっちゃになると訳わからんくなる。
これから必須のスキル。
自分の復習のため、今日学んだことを書いておく。
基本的な文法を整理しよう。
テーブル作成
CREATE TABLE テーブル名(カラム名 型,・・・)
行の追加
INSERT INTO テーブル名 VALUES(宣言時の型に合わせたデータ)
行の変更
UPDATE テーブル名 SET カラム名=入れたい値
データの取得
SELECT カラム名 FROM テーブル名
列の追加
ALTER TABLE テーブル名 ADD カラム名 型
列の名前変更
ALTER TABLE テーブル名 RENAME COLUMN 旧名 TO 新名
列の削除
ALTER TABLE テーブル名 DROP COLUMN カラム名
列の型変更
ALTER TABLE テーブル名 MODIFY(カラム名 入れたい型)
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
関数について
数値から文字に変換
SELECT TO_CHAR(変更したいカラム名,変更したい形式)
日付から文字に変換
SELECT TO_DATE(変更したいカラム名,変更したい形式)
データの個数取得
SELECT COUNT(*)
文字の切り出し
SELECT SUBSTR(切り出したい文字列,スタート,ゴール)
※添字と違って、先頭は普通に1から
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
条件について WHERE句
NULLか判断する
IS NULL
範囲指定する
BETWEEN 数1 AND 数2
パターンに合う文字の抽出
LIKE ‘パターン’
%:0文字以上の任意の文字列
_:任意の1文字
グループ化
GROUP BY カラム名
抽出データを昇順に並び替え
ORDER BY カラム名
降順に並び替え
ORDER BY カラム名 DESC
重複データの除外
SELECT DISRINCT カラム名
ーーーーーーーー
結合について
外部結合とは、
共通データだけでなく、どちらかにしかないデータも合わせて取得できる。
共通データと、(+)がついてない方のデータがついてくる。
ーーーーーーーー
制約について
想定外のデータが入ることを防ぐ仕組み、ルール。
CREATE文のカラムのあとに続けて書く。
NOT NULL:NULLはだめ
UNIQUE:重複禁止
CHECK:条件に合わないもの禁止
DEFAUKT:初期値を設定
PRIMARY KEY(カラム名) これは最後に書く。
主キーの設定。一意であるキー。
これから必須のデータの扱い。慎重にマスターしていきたい。