かっちゃんのプログラミング奮闘記

このブログは、僕がプログラミング学習をしていく上で、知識のインプットを図るためのアウトプット場所として活用している場所です。

SQLの4大命令の覚え方

SQLには命令文で「INSERT」「UPDATE」「SELECT」「DELETE」の4つの代表的な命令がある。

これらの命令にはそれぞれ法則(型)があるので、それを覚えることで、スムーズに使い分けることができる。

4大命令をスッキリ学ぶ3つのコツ

①4大命令の構造と修飾語の全体をしっかり把握する
②4大命令の2通りの分類方法を理解する。
③4大命令に共通するテーブル指定を先に書く

4大命令の分類方法(検索・更新)

分類は以下の様に「更新系」と「検索系」の2つに分類できる。

・検索系: SELECT(DBを更新しない)
・更新系: UPDATE、DELETE、INSERT (DBを更新する)

SERECTは既存のDBの表から情報を検索して取り出したり並べ替えたりする時に使用し、残りのUPDATE、DELETE、INSERTはDB内に新しくデータを追加したり、DB内のデータを更新・削除したりして書き換える(更新)することを行うので、大きく分けて2分類で理解することができる。

この様に分類で考えれると、例えば修飾語で検索結果の表を並べ替える「ORDER BY」という修飾語を使用したい時に、必然と更新系ではなく、すでにある表を検索するSELECTでしか利用できないということがわかる。

なので、どんな修飾語を使いたいか、どんな条件でデータを扱いたいかを考えた時に、必然と対応する命令文が定まる。

4大命令の分類方法(既存・新規)

次に既にDB内にある既存のデータを扱う命令なのか、それともまだDB内に存在しないデータで新規でDB内に追加する命令なのかの2つでも分類ができる。

・既存系: SELECT、UPDATE、DELETE ・新規系: INSERT

この様に分類することで、条件つきで、例えば修飾語の「WHERE句」を用いて条件をつけて何かしたい時に、必然と既にあるデータに対してしか条件付きで実行することができないということがわかる。

WHEREはデータに対しての処理なので、今から新たに新規登録しようとしているデータに対しては利用することができない。というか使う場面が理屈上無い。

SQLをスッキリ書くには

f:id:kazuki13070311:20210829112235j:plain
各命令で固有の部分を再現した図

SQLをスッキリ書くには上記図を覚えることが一番手っ取り早い。

①まず、命令文(SELECTなど)を記述する。
②次にテーブルの指定(FROM、INTO)を記述する。
③テーブル指定の記述より後ろの「SET」や「VALUES」を記述する。
④最後にSELECT文のみ、テーブル指定の前の選択する列名(カラム名)を記述する。

この様に記述して当てはめていくことで、迷わずスッキリと記述することができる。