WEB開発/システム開発の実務経験を踏まえて、SQLについて入社前に知っておくと良さそうなことをまとめてみた

SQL

SQLについて入社前に知っておくべきことを解説して欲しい

今回はそんな疑問に回答します。

ことの発端は以下のツイートです。

入社前にSQLをどれくらい理解しておけば良いか分からないという方がいらっしゃったので、この記事で細かく解説することにしました。

SQLの基礎知識

SQLは、データベースに格納されたデータを操作したり、テーブルを作成することができる言語です。

SQLを学習する上でデータベースの理解は必須です。

DB(データベース)

データベースとは、データを集めて整理しておくことができる表のイメージのようなものです。

エンジニアは略して「DB」と呼んでいる人がほとんどです。

データベースでは以下のようなデータを取り扱います。SQLはこのようなデータを抽出したり、テーブルへデータの登録や削除をおこなうことができます。

  • 顧客情報 … お客さんの情報。年齢、住所、職業など
  • 商品情報 … 商品一つ一つの情報。商品コード、商品名、価格、商品画像など
  • 売上情報 … このお店でこの商品は何個売れたか、何時に売れたか、など

SQL

SQLは、Structured Query Languageの略です。

データベースを操作することができる言語で、非手続き型言語と訳します。

カシムラ
カシムラ

SQLは、DML・DDL・DCLの3種類があります。
当記事では、よく使用されるものだけを厳選して紹介します。

DML(Data Manipulation Language):データ操作言語

SELECT(データ抽出)、INSERT(データ登録)、UPDATE(データ更新)、DELETE(データ削除)などがあります。

DDL(Data Definition Language):データ定義言語

CREATE TABLE(テーブル作成)、ALTER TABLE(テーブル情報変更)、DROP TABLE(テーブル削除)などがあります。

DCL(Data Control Langeage):データ制御言語

GRANT(権限付与)、COMMIT(コミット)、ROLLBACK(ロールバック)などがあります。

入社前に押さえておくべきこと

それでは、入社前に押さえておきべきことを解説していきます。

DML(Data Manipulation Language):データ操作言語

SQLといえばこれですね。
SELECT文、INSERT文、UPDATE文、DELETE文はDMLっていいます。

SELECT文(データの抽出)

SQLで一番よく現場で使うのがこの「SELECT文」になります。テーブルから抽出したい列と抽出条件を指定します。

基本的な構文
SELECT 列名1, 列名2, 列名3  FROM テーブル名  WHERE 抽出条件

合わせて覚えておきたい条件文
条件文意味
WHEREグループ化する前の抽出条件
ORDER BYソート順
GROUP BYグループ化
HAVINGグループ化した後の抽出条件
副問合せ問合せの中に問合せ
UNION重複を含めずに結合
UNION ALL重複を含めて結合
LIKEあいまい検索
EXISTS存在するか
OUTER JOIN外部結合
INNER JOIN内部結合
BETWEEN範囲指定

INSERT文(データの登録)

これも現場でよく使うSQLになります。テーブルへデータを登録するときにINSERT文を実行します。

基本的な構文
INSERT INTO テーブル名 ( 列名1, 列名2, 列名3 ) VALUES ( 値1, 値2, 値3 )

UPDATE文(データの更新)

これも現場でよく使うSQLになります。テーブルの中で更新したいデータの条件を指定して、更新処理を行うことができます。WHERE句を指定しないと全データを対象に更新処理を行ってトラブルを起こしかねないので注意しましょう。

基本的な構文
UPDATE テーブル名  SET 列名1 = 値1, 列名2 = 値2  WHERE 更新条件

DELETE文(データの削除)

これも現場でよく使うSQLになります。テーブルの中で削除したいデータの条件を指定して、削除処理を行うことができます。「WHERE」句を指定しないと全データを対象に削除処理を行ってトラブルを起こしかねないので注意しましょう。

基本的な構文
DELETE FROM テーブル名  WHERE 削除条件

DDL(Data Definition Language):データ定義言語

CREATE文(テーブル作成)

データを格納しておくためのテーブルは「CREATE文」を実行することで作成することができます。ここら辺はProgateに専用コースがないので、知らない方が大半だと思いますが、実務では必須レベルなので押さえておきましょう。

基本的な構文
CREATE TABLE テーブル名 ( 列名1 型1, 列名2 型2, 列名3 型3 )

ALTER文(テーブル更新)

上記「CREATE文」で作成したテーブルは、「ALTER文」を実行することで列定義を変更することができます。これも実務では必須レベルなので押さえておきましょう。

基本的な構文
// テーブル名変更
ALTER TABLE 変更前テーブル名 RENAME TO 変更後テーブル名 
// テーブル列名変更
ALTER TABLE テーブル名 RENAME 変更前列名 TO 変更後列名

DROP文(テーブル削除)

上記「CREATE文」で作成したテーブルは、「DROP文」を実行することで削除することができます。これも実務では使用することがあるので押さえておきましょう。

基本的な構文
DROP TABLE テーブル名

TRUNCATE文(テーブルデータの削除)

「TRUNCATE文」を実行することでテーブルの全レコード削除することができます。これも実務では使用することがあるので押さえておきましょう。

基本的な構文
TRUNCATE TABLE テーブル名

PL/SQL:手続き型言語

PL/SQLとは、Procedure Language/Structed Query Languageの略で、手続き型言語と訳します。

SQL(非手続き型言語)は一つの命令をおこなうのに対し、PL/SQLは複数の命令を一度の実行でおこなうことができます。PL/SQLは、SQLを拡張した言語になります。

SQLはどの開発現場でも使用しますが、PL/SQLは大量のデータを取り扱う大規模な現場で使用される傾向があります。

そのため、PL/SQLは学習必須ではありません。余裕があれば学習しておくと良いでしょう。

まとめ

今回は、SQLについて入社前に知っておくと良さそうなことをまとめてみました!

どれくらい学習する必要があるのか企業によって様々ですが、一つの参考にしてみてください。

コメント

タイトルとURLをコピーしました