今回は、SQLを少し勉強したので、備忘録として残しておきます。
今までは、Railsで開発をしていて、SQLについて深く考えることはなかったですが、今回SQLを学んでみて、ログを見るときなど意味を理解して見れるようになりました。
FROM
- どのテーブルからデータを取得するか
FROM テーブル名
FROM posts
SELECT
- どのカラムのデータを取得するか
SELECT カラム名
usersテーブルのnameカラムのデータを取得
SELECT name
FROM users;
複数のカラムからデータを取得
SELECT name, email
FROM users;
全てのカラムからデータを取得
SELECT *
FROM users;
WHERE
- どこのレコードを取得するか
WHERE 条件
nameがカレーのレコードを取得
SELECT *
FROM menus
WHERE name = "カレー";
priceが1000円以上のレコードを取得
SELECT *
FROM menus
WHERE price >= 1000;
LIKE
- 部分一致(あいまい)のデータを取得できる
- `WEHERE カラム名 LIKE "%条件%";
nameがラーメンのレコードを取得
SELECT *
FROM menus
WHERE name LIKE "%ラーメン%";
NOT
- 条件を満たさないデータを取得する
WEHERE NOT 条件
priceが1000円以上ではない、レコードを取得
SELECT *
FROM menus
WHERE NOT price >= 1000;
nameがラーメンではない、レコードを取得
SELECT *
FROM menus
WHERE NOT name LIKE "%ラーメン%";
AND
- WHEREに複数の条件を指定できる
- 条件を全て満たすデータを取得できる
WHERE 条件1 AND 条件2
nameがラーメンかつ1000円以上のレコードを取得
SELECT *
FROM menus
WHERE name LIKE "%ラーメン%"
AND price >= 1000;
OR
- WHEREに複数の条件を指定できる
- いずれかの条件を満たすデータを取得できる
WHERE 条件1 OR 条件2
nameがラーメンまたはカレーのレコードを取得
SELECT *
FROM menus
WHERE name LIKE "%ラーメン%"
OR name LIKE "%カレー%";
ORDER BY
- 取得したデータを並び替えられる
ORDER BY カラム名 順番- ASC(昇順)小さいから大きい数、DESC(降順)大きいから小さい数
priceの大きい順
SELECT *
FROM menus
ORDER BY price DESC;
LIMIT
- 何件取得するかを指定できる
LIMIT データの件数
menusテーブルのデータを5件取得
SELECT *
FROM menus
LIMIT 5;
まとめ
今回は、ここまで!
メモ帳みたいになってますが、またSQL関連の記事あげます。