0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[備忘録]SQLクエリまとめ①

Posted at

今回は、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関連の記事あげます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?