未経験Javaエンジニア転職の記録

20代転職未経験エンジニア

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(カラム名) これは最後に書く。
主キーの設定。一意であるキー。


これから必須のデータの扱い。慎重にマスターしていきたい。