SQL

SQLの基礎操作を解説「初学者向けまとめ」

SQL SQL
SQLってどこの現場でも使われているし、今の内に少しでも勉強しておこうかな?言葉の意味や使い方など基礎的な部分から教えてほしい。

 

 

これからSQLを学びたい初学者の方、基礎を学んだけど忘れたから復習したい方へ

本記事では「SQL」の基礎であるコマンドから使い方について詳しく解説

 

 

約10分ほどでSQLの基礎をマスター、復習用にも活用できます。

・用語解説
・SELECT
・FROM
・WHERE
・比較演算子
・LIKE
・NOT
・NULL
・AND
・OR
・ORDER BY
・LIMIT

 

スポンサーリンク

SQL用語解説

SQL

 

SQLはデータベースに対して命令(クエリ)を書くための言語です。

言語自体そこまで複雑ではないので、データベースの名前「テーブル」「カラム」「レコード」を理解しましょう。

 

 

テーブル

「テーブル」はデータベースの表全体を指します。

データベースは一つとは限らないので複数の表を管理する場合など、テーブル名として管理します。

 

カラム/レコード

「カラム」は表の縦列を指し、「レコード」は表の横列を指します。

以下の図の通りです。

 

 

 

まとめ

・テーブル:表全体
・カラム:表の縦列
・レコード:表の横列

 

 

SELECT

 

「SELECT」はデータベースからデータを取得するために使います。

SELECT カラム名
SELECT name

 

たとえば、2つ以上のカラムを選択したい場合は「カンマ」で区切って指定することも出来ます。

SELECT name,price

 

また、すべてのカラムを指定したい場合は「*(アスタリスク)」を使えばすべてを指定できます。

SELECT *

 

まとめ

SELECT」は、「どのカラムのデータを?」を指定している。

 

 

FROM

 

「FROM」はテーブルを指定するために使います。

書き方は「SELECT」の次に書くのが基本、以下のような書き方です。

FROM テーブル名
SELECT name
FROM table;

 

この「SELECT」と「FROM」はセットで「;(セミコロン)」までがクエリです。

ちなみにSQLは大文字小文字の区別が無いので、すべて小文字で書いても問題ありません。

 

まとめ

「FROM」は、「どのテーブルから?」を指定しています。

 

 

WHERE

 

「WHERE」はレコードのデータを取得する時に使います。

ここまで解説した「SELECT」と「FROM」で、「○○テーブルの○○カラム」を指定出来ているので、

「WHERE」のレコードを指定することで、細かなデータ取得が可能になります。

WHERE カラム名=値
WHERE price=400

 

たとえば以下のようなクエリなら、

SELECT *
FROM table
WHERE price =400;

 

すべてのカラムの中の、「price」が「400」のデータを取得するクエリになります。

 

ちなみに今回は数字を指定しているのでそのまま書いてますが、

「テキストデータ」と「日付データ」はクォーテーションで囲む必要があります。

SELECT *
FROM table
WHERE name =”モカ”;

 

まとめ

「WHERE」は、「どのレコードの?」を指定しています。

 

 

比較演算子

 

SQLも比較演算子を使ったデータ取得が出来ます。

比較演算子の種類は以下の通り。

 

比較演算子の種類
a<baがbより小さいデータを検索
a<=baがbより小さい、または等しいデータを検索
a>baがbより大きいデータを検索
a>=baがbより大きい、または等しいデータを検索

 

WHERE price >400;

この場合、priceが400以上のデータ、つまり「モカ」と「ラテ」のデータを取得することになります。

 

 

LIKE

 

これまでの「WHERE」の検索では完全一致のデータしか取得出来ません。

それでは使い勝手が悪いので、活躍するのが「LIKE」です。

 

LIKEを使うことで「○○を含むデータ」を検索して取得することが出来ます。

書き方は以下の通り。

WHERE カラム名 LIKE %○○%;

 

%はワイルドカードの意味合いとなり、「○○」を含むすべてのデータを取得する意味となります。

また前後どちらかに%をつけることで、「前方一致」「後方一致」も出来ます。

 

「%○○」:後方一致、あとに○○が含まれるすべてのデータ
「○○%」:前方一致、先に○○が含まれるすべてのデータ

 

たとえば以下のデータベースがあったとして

idnameprice
1チキンカレー750
2カレー600
3カレーピラフ650
4カツカレー850

 

WHERE name LIKE %カレー%;

結果はすべてのデータを取得

 

WHERE name LIKE %カレー;

結果はすべての「チキンカレー」「カレー」「カツカレー」のデータを取得

 

WHERE name LIKE カレー%;

結果はすべての「カレー」「カレーピラフ」のデータを取得となります。

 

まとめ

「LIKE」は「○○を含む」を指定しています。

 

 

NOT

 

「NOT」は否定の意味合いで、「○○の条件を満たさないもの」「一致しないデータ」を指定して取得します。

これまでのWHEREや比較演算子、LIKEも同じように使うことが出来ます。

WHERE NOT カラム名 = ○○;

 

参考例

SELECT *
FROM table
WHERE NOT price =400;

これはpriceが400以外のデータを取得となります。

 

SELECT * 
FROM table 
WHERE NOT name LIKE "%カレー";

これはnameが○○カレー以外なので、カレー○○のデータを取得となります。

 

まとめ

「NOT」は「否定、○○ではない」を指定しています。

 

 

NULL

 

データベースで中身が無い(データが保存されていない)場合は、「NULL」と示します。

 

そのため、中身が無いデータを検索して取得する場合に「NULL」を使います。

WHERE カラム名 IS NULL;
SELECT *
FROM table
WHERE price IS NULL;

 

上記の書き方をすると、中身がNULLであるid4の「エスプレッソ」が取得される。

また、先述した「NOT」を使うことで「NULL以外のすべてのデータを取得」といった操作も可能。

SELECT *
FROM table
WHERE price IS NOT NULL;

 

 

以下のように=(イコール)を使った指定をすることは出来ません。
FROM table 
WHERE price = NULL;
FROM table 
WHERE NOT price NULL;

 

まとめ

「NULL」は「中身のデータが保存されていない」を指定しています。

 

 

AND

 

「AND」は複数の条件を指定することが出来ます。

 

「条件1と条件2」や「条件1かつ条件2」といったイメージ、

書き方は「WHERE 条件1 AND 条件2」といった感じで、2つの条件が一致するものを取得します。

AND カラム名 = "○○";
SELECT*
FROM table
WHERE name = "コーヒー"
AND price = 400;

 

まとめ

「AND」は「複数の条件、条件1かつ条件2」の指定が出来ます。

 

OR

 

「OR」も「AND」同様に複数の条件を指定することが出来ますが、

 

「条件1か条件2」や「条件1または条件2」といったイメージで、どちらかが一致する場合を指定できます。

書き方は「WHERE 条件1 OR 条件2」となります。

OR カラム名 = "○○";
SELECT*
FROM table
WHERE name = "コーヒー"
OR price = 400;

 

まとめ

「OR」は「複数の条件、条件1または条件2」の指定が出来ます。

 

 

ORDER BY

 

「ORDER BY」は取得したデータの並び替えを指定出来ます。

並び替えは「数字データ」のみで、以下の2通りで並び替えが出来ます。

 

・ASC(昇順):1、2、3…100
・DESC(降順):100…3、2、1

 

ORDER BY 並び変えたいカラム名 並び方;
SELECT*
FROM table 
ORDER BY price DESC;

 

「DESC」の場合は降順なので数字が大きいものが先に並び替えされます。

 

もちろん、「WHERE」とも併用が出来ます。

 

まとめ

「ORDER BY」は「昇順、降順の並び替え」を指定しています。

 

 

LIMIT

 

「LIMIT」は最大表示数の指定が出来ます。

データベースでデータを取得する際に、上位10件のみ知りたいなど絞った検索をすることがあります。

そういった場合に100件、1000件のデータを取ると時間も掛かってしまうので「LIMIT」を使います。

LIMIT データ件数;
SELECT *
FROM table
LIMIT 3;

 

上記のLIMIT3で取得すると上位の3件のみ取得されます。

 

こちらも「WHERE」との併用が可能です。

SELECT *
FROM table
WHERE 条件
LIMIT 5;

 

 

まとめ

 

SQLの基礎操作を解説「初学者向け」についてまとめました。

プログラミングほど複雑ではなく、単語も分かり易いので覚えやすいと思います。

 

以下まとめです。

言語説明
SELECTカラムの指定
FROMテーブルの指定
WHEREレコードの指定(条件の指定)
比較演算子○○より大きい、○○より小さいの指定
LIKE○○を含むの指定
NOT○○を含まない、条件が一致しないの指定(否定)
NULL中身が保存されていない
AND条件1かつ条件2の指定
OR条件1または条件2の指定
ORDER BY取得した数字データの昇順、降順の並び替え
LIMIT最大表示件数の指定

 

基本の操作は紹介したクエリで完璧だと思うので、ぜひ参考にしてみてください。

最後までお読みいただきありがとうございました。

スポンサーリンク
NO IMAGE

晴耕雨読

『晴れた日には畑を耕し雨の日には本を読む』そんな生活を目指すブログです