はじめに
-
今回は改めてSQLについて学び直す機会があったので、SQLの基礎について書きたいと思います。
-
簡単なサンプルデータを使いつつ、解説とともに実行したデータを画像として貼っているので分かりやすくなっていると思います。
-
初心者の方で「SQLよく分からない」や「SQL知ってるけど学び直す機会を作ってもう一度知識を入れなおしておきたい」といった方向けに書きたいと思います。
実行環境
※SQLが実行できる環境なら他のものでも問題ないです。
基本的なSQL文
- 下に簡単なサンプルデータを置いておきますので、試しながらやってみてください。
CREATE TABLE fruits
(`id` int, `name` varchar(6), `price` int);
INSERT INTO fruits
(`id`, `name`, `price`)
VALUES
(01, 'apple', 150),
(02, 'orange', 200),
(03, 'kiwi', 350),
(04, 'cherry', 400),
(05, 'banana', 320),
(06, 'grape', 550)
SELECT文
- SELECT文はデータベースからデータを取得するために使います。
基本構文 SELECT 項目 FROM テーブル;
例 SELECT name FROM fruits;
-
例だとnameは項目でfruitsはテーブルとなるので、fruitsというテーブルからnameだけを取得してきます。(項目の部分を*(アスタリスク)にすることでデータを全て取得できるので試してみてください)
WHERE句
-
このWHEREはSELECT文の後ろに記述して使います。これを使うことによって絞り込みができます。
-
WHEREで使える比較演算子
比較演算子 | 説明 |
---|---|
= | 等しい |
> | 大きい |
< | 小さい |
>= | 以上 |
<= | 以下 |
!= | 等しくない |
<> | 等しくない |
- WHEREで使える論理演算子
論理演算子 | 説明 |
---|---|
AND | 2つの条件の両方が真 |
OR | 2つの条件のうち、どちらか一方が真 |
NOT | 式の結果を反転 |
BETWEEN a AND b | 対象がaとbの範囲内 |
IN | 対象が条件の1つに一致 |
LIKE | 対象が条件に含まれる |
基本構文 SELECT 項目 FROM テーブル WHERE 条件;
例 SELECT name,price FROM fruits WHERE price >= 400;
-
例だとname,priceで名前と価格をfruitsというテーブルから取得し、WHEREで絞り込みをしてpriceが400以上のものだけを取得してきます。
DELETE文
- DELETE文はデータベースからデータを削除するために使います。
基本構文 DELETE FROM テーブル WHERE 条件;
例 DELETE FROM fruits WHERE name = 'banana';
SELECT name FROM fruits;
UPDATE文
- UPDATE文はデータベースのデータを更新するために使います。
基本構文 UPDATE テーブル SET 項目 = 値 WHERE 条件;
例 UPDATE fruits SET price = 600 WHERE name = 'orange';
SELECT name,price FROM fruits;
INSERT文
- INSERT文はデータベースにデータを追加するために使います。
基本構文 INSERT INTO テーブル VALUES ('値','値','値');
//VALUESの値は追加したいデータによって変わります。
例 INSERT INTO fruits VALUES (07,'muscat',800);
SELECT * FROM fruits;
データの並べ替え(ソート)
ORDER BY句
- ORDER BYはデータベースのデータを並べ替え(ソート)するために使います。
基本構文 SELECT 項目 FROM テーブル ORDER BY ソートしたい項目 ASC(昇順)かDESC(降順);
//昇順か降順を指定しなかった場合は昇順になります。
例 SELECT name,price FROM fruits ORDER BY price DESC;
データのグループ表示
GROUP BY句
-
GROUP BYはデータベースのデータをグループ表示するために使います。
-
GROUP BYでは下にあるサンプルデータを使用します。初めに使用していたサンプルデータに産地を追加で記述しています。
CREATE TABLE fruits
(`id` int, `name` varchar(6), `price` int,`origin` varchar(8));
INSERT INTO fruits
(`id`, `name`, `price`,`origin`)
VALUES
(01,'apple', 150,'america'),
(02,'orange', 200,'japan'),
(03,'kiwi', 350,'america'),
(04,'cherry', 400,'japan'),
(05,'banana', 320,'france'),
(06,'grape', 550,'japan');
基本構文 SELECT 項目 FROM テーブル GROUP BY グループにまとめる項目;
例 SELECT origin,SUM(price) FROM fruits GROUP BY origin;
-
例だとorigin,SUM(price)で産地とpriceの合計をfruitsというテーブルから取得し、GROUP BYでoriginの合計した価格を表示します。
テーブルの結合
テーブルの結合に関してはこの方の記事が分かりやすいので、下にリンクを貼らせていただきます。
SQL素人でも分かるテーブル結合(inner joinとouter join)
最後に
今回はSQL文の基礎を自分のアウトプットも兼ねてまとめました。
SQLは覚えることは多いですが、実際に手を動かしながら学んでいけばすぐに使えるようになると思います。
次回はまた何かしらのアウトプットか自分が興味のある面白そうな技術について書きたいと思っています。