
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について入社前に知っておくと良さそうなことをまとめてみました!
どれくらい学習する必要があるのか企業によって様々ですが、一つの参考にしてみてください。
コメント