AI Mac設定 Windows設定 WordPress おすすめアプリ おすすめガジェット コピペで使える ブログ運営 ミニマリズム 中学生でもわかるIT 健康 問題解決 自動化 読書 転職先選び

SQLはデータベース管理に欠かせないスキル。今回は、基本的なSQL操作であるSELECT、JOIN、INSERT、UPDATE、DELETEの使い方を、すぐにコピペで使える形式で解説する。
SELECT文の基本
データベースからデータを取得するための基本的な操作がSELECT文。
SELECT
-- *
カラム1
,カラム2
FROM
テーブル名
WHERE
1 = 1
AND カラム1 = '条件1'
AND カラム2 = '条件2'
;
メンテナンスがしやすく可読性の高いSQLの書き方についての解説
上記のSELECT文を例に、メンテナンスがしやすく可読性の高いSQLの書き方について解説していく。今回はSELECTで解説を行うが、NSERT、UPDATE、DELETEでも汎用的に使える考え方だ。
「– *」を記載する理由
コメントアウトされた「– *」は、すべてのカラムを選択する場合に使用。WHERE句で条件を指定することで、特定のデータを抽出する。当然各個別カラムはコメントアウトする。
SELECT
*
-- カラム1
-- ,カラム2
FROM
テーブル名
WHERE
1 = 1
AND カラム1 = '条件1'
AND カラム2 = '条件2'
;
「1 = 1」を記載する理由
1 = 1を記載する理由は、WHERE条件をコメントアウトする際に、WHERE句をコメントアウトしなくても良いから。また、後から条件を追加しやすくするためでもある。例えば、動的にSQL文を生成する場合に、新しい条件を追加する際に、各条件の前にANDをつける必要がある。最初にWHERE 1 = 1を記載しておくことで、追加する条件すべてに対してANDをつけるだけで済むため、コードの可読性とメンテナンス性が向上する。
SELECT
-- *
カラム1
,カラム2
FROM
テーブル名
WHERE
1 = 1
-- AND カラム1 = '条件1'
-- AND カラム2 = '条件2'
;
「,」や「AND」をカラムの前に記載する理由
SQL文では、「,」や「AND」を条件の後ろではなく前に記載することで、コメントアウトしやすくなる。これにより、複数の条件を追加する際に視覚的に区切りがつきやすくなり、コードを読むときに各条件が明確に区別できるため、可読性が向上する。
SELECT
-- *
カラム1
-- ,カラム2
FROM
テーブル名
WHERE
1 = 1
-- AND カラム1 = '条件1'
AND カラム2 = '条件2'
;
LEFT JOIN文の使い方
複数のテーブルから関連するデータを結合する場合に使用するのがJOIN文。LEFT JOINは、左側のテーブルのすべての行と、右側のテーブルの一致する行を結合する。
SELECT
A.カラム1
,B.カラム2
FROM
テーブルA A
LEFT JOIN
テーブルB B
ON
A.カラム3 = B.カラム3
AND A.カラム4 = B.カラム4
WHERE
1 = 1
AND A.カラム1 = '条件1'
AND B.カラム2 = '条件2'
;
この例では、テーブルAとテーブルBを指定されたカラムで結合し、条件に一致するデータを取得する。
JOINの種類
ここでは割愛するが、LEFT JOIN以外にもINNER JOIN・RIGHT JOIN・FULL OUTER JOINなどがあり、それぞれ結合する条件が異なる。詳しくは下記記事で詳しく解説をしている。

INSERT文の使い方
データベースに新しいデータを追加するにはINSERT文を使用する。
INSERT INTO
テーブル名 (
カラム1
,カラム2
) VALUES
('値1', '値2')
,('値3', '値4')
;
上記のようにVALUES句をカンマで区切ることにより、一度に複数の行を挿入することができる。1行だけ追加したい場合は7行目をコメントアウトすれば良いわけだ。
UPDATE文の使い方
既存のデータを更新するにはUPDATE文を使用する。
UPDATE
テーブル名
SET
カラム1 = '新しい値1'
,カラム2 = '新しい値2'
WHERE
1 = 1
AND カラム1 = '条件1'
AND カラム2 = '条件2'
;
UPDATE文では、SET句で指定したカラムの値を変更し、WHERE句で条件を満たす行を更新する。
UPDATE文を使用する際には、WHERE句を忘れると全行が更新されるため、特に注意が必要。
DELETE文の使い方
データベースからデータを削除するにはDELETE文を使用する。
DELETE
--SELECT *
FROM
テーブル名
WHERE
1 = 1
AND カラム1 = '条件1'
AND カラム2 = '条件2'
;
DELETE文は、指定された条件に一致する行を削除する。条件を指定しないと、テーブル内のすべての行が削除されるため注意が必要。せ
安全な削除
DELETE文を実行する前に、削除対象の行を確認するためにSELECT文を使うと安全。
--DELETE
SELECT *
FROM
テーブル名
WHERE
1 = 1
AND カラム1 = '条件1'
AND カラム2 = '条件2'
;
まとめ
SQLの基本操作であるSELECT、JOIN、INSERT、UPDATE、DELETEの使い方を理解することで、データベースの管理と操作がスムーズに行える。
「– *」「1 = 1」の記載や、「,」や「AND」をカラムの前に記載することにより、メンテナンスがしやすく可読性の高いSQLを書くことができる。