筆者は現在WEBマーケターとして勤務しているのですが、最近SQLを使って、データを抽出する作業が発生してきています。
今まで全くSQLに触れたことがなかったため、1からSQLを学ぶことになった筆者。
今回の記事では、筆者が1からSQLを学習してみて、初心者が覚えておくべきだと思ったSQLの色々(データベースの事、構文等)をまとめてみました。
備忘録的な感じにはなりますが、SQLを学習する方に少しでも役にたつと幸いです。
目次
SQLとは?
SQLとは、データベースを操作するための言語です。データベースからデータを検索したり、更新したりする際に使用します。
SQLで書かれた文を「クエリ文」と呼びます。
※中には「SQL文」と呼ぶ人もいるようです。
データベースの構成について
SQLを学ぶ前にデータベースの構成の理解は必要だと思いますので、ご紹介しておきます。
データーベースとは、電子的な媒体にファイルなどの形式で保存・蓄積したものです。
データベースは、下記の表のように「テーブル」「カラム」「レコード」「フィールド」という4つの要素から構成されています。
このような構造になっているデータベースからSQLという専用の言語を使って、テーブルから特定のカラムやレコードのデータを自由に検索したり、更新したりすることができます。
現段階ではデータベースについて詳しく知る必要はないと思いますが、最低限データベースの構造・呼び名については頭に入っていないと、クエリ文を書く際、苦労することになりますので、頭に入れておきましょう。
覚えておくべきSQL構文について
それでは、SQL構文のご紹介をしていきます。
初心者がとりあえず覚えておくべき構文のルールや様々な命令についてご紹介していきます。
SQL構文ルール
まずは、SQL構文のルールを箇条書きでご紹介します。
・文の途中に改行を入れることができる
・行の先頭や行の途中には半角スペースを入れることができる
・文末は「;(セミコロン)」をつける
・大文字小文字の区別はない
・1行コメントは「–(ハイフン2つ)」、複数行コメントは「/* */」で
これらは、SQL構文の基本ルールになります。
構文を書く機会を増やしていくことで自然と頭に入りますので、ここでは「こんなルールがあるんだな〜」程度で問題ありません。
SQL構文について
データベースに対して操作を行う為の完全な命令である「〇〇文」とクエリ文の一部を構成する「〇〇句」、演算内容を指示する「演算子」に分けてご紹介していきます。
〇〇文
まずは「〇〇文」のご紹介です。
今回は、SQLの4大命令と言われている「SELECT文」「UPDATE文」「INSERT文」「DELETE文」をご紹介します。ほとんどの処理は、この4大命令を抑えておけば対応できると言われています。
SELECT文(データの検索)
データの検索には「SELECT」を使用します。
SELECT カラム名
FROM テーブル名;
SELECTの後ろに取得したいカラム名を、FROM句でどのテーブルかを指定し、「どのテーブルのカラムに入ったデータを検索するか」を指定します。
UPDATE文(データの更新)
データの更新には「UPDATE」を使用します。
UPDATE テーブル名
SET カラム名 = 値, カラム名 = 値
WHERE 条件;
INSERT文(データの追加)
データの追加には「INSERT」を使用します。
INSERT INTO テーブル名
VALUES ("〇〇","〇〇","〇〇");
DELETE文(データの削除)
データの削除には「DELETE」を使用します。
DELETE FROM テーブル名
WHERE 条件;
〇〇句
次は、「〇〇句」についてです。
FROM句(どのテーブルのカラムか)
どのテーブルのカラムかを指定するには「FROM」を使用します。
SELECT カラム名
FROM テーブル名;
WHERE句(レコードを取得するか)
どのレコードを取得するかは「WHERE」を使用します。
SELECT カラム名
FROM テーブル名
WHERE 〇〇 = "〇〇";
ORDER BY句(データの並べ替え)
データを並べ替える際は「ORDER BY」を使用します。
SELECT カラム名
FROM テーブル名
ORDER BY カラム名 [ASC もしくは DESC];
ASC(アセンディング)は昇順、DESC(デセンディング)は降順を意味します。
LIMIT句(最大で何件取得するか)
取得する件数を指定する場合は「LIMIT」を使用します。
SELECT カラム名
FROM テーブル名
LIMIT 5;
GROUP BY句(データのグループ化)
データのグループ化は、「GROUP BY」を使用します。
SELECT カラム名
FROM テーブル名
GROUP BY グループ化するカラム名;
AS句(カラム名などに別名を定義)
カラム名などに別名を定義する場合は「AS」を使用します。
SELECT カラム名 AS 別名
FROM テーブル名;
演算子
次に、演算内容を指示する「演算子」についてです。
AND(条件1、条件2をともに満たすデータの検索)
条件1、条件2をともに満たすデータの検索には「AND」を使用します。
SELECT カラム名
FROM テーブル名
WHERE 条件 AND 条件;
OR(条件1、条件2のどちらかを満たすデータの検索)
条件1、条件2のどちらかを満たすデータの検索には「OR」を使用します。
SELECT カラム名
FROM テーブル名
WHERE 条件 OR 条件;
NOT(○○を含まないデータの検索)
○○を含まないデータの検索には「NOT」を使用します。
SELECT カラム名
FROM テーブル名
WHERE NOT name LIKE ""%〇〇%"";
LIKE(ある文字を含むデータを取得)
ある文字を含むデータを検索には「LIKE」を使用します。
SELECT カラム名
FROM テーブル名
WHERE name LIKE ""%〇〇%"";
「LIKE」には、「%(0文字以上の任意の文字の連続)」「_(1文字を表す)」のようなワイルドカードと呼ばれるものがセットで使用されます。
IS NULL(〇〇がNULLである)
〇〇がNULLであるデータを検索するには「IS NULL」を使用します。
SELECT カラム名
FROM テーブル名
WHERE 〇〇 IS NULL;
IS NOT NULL(〇〇がNULLでない)
〇〇がNULLでないデータを検索するには「IS NOT NULL」を使用する。
SELECT カラム名
FROM テーブル名
WHERE 〇〇 IS NOT NULL;
まとめ
今回は、初心者が覚えておくべきだと思ったSQLの色々(構文等)をまとめてみました。
この記事が、SQL学習中の方にとって参考になれば幸いです。
コメント