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)

Last updated at Posted at 2020-11-14

前書き

RDB環境: MySQL 5.6.50
GUIツール: Sequel Pro
テーブル: users, shifts(seedファイルで予め用意した情報を読み込み済)

users

カラム名 内容
family_name 苗字
first_name 名前
age 年齢
prefecture 出身地

検索方法

テーブルの全てのデータを検索する
クエリ
SELECT * FROM users

query_result

条件にあったデータを取得する
  • WHERE
    取得するレコードの条件を指定する。
クエリ
SELECT *
FROM users
WHERE family_name = "阿部"

query_result

  • LIKE
    文字列検索を可能にする。
    曖昧検索には%を使う。
クエリ
SELECT *
FROM users
WHERE prefecture LIKE '%都'

query_result

  • AND
    複数の条件を組み合わせる。
    全ての条件を満たせばtrueとなる。
クエリ
SELECT *
FROM users
WHERE prefecture LIKE '%都' AND age = 22

query_result

  • OR
    複数の条件のうちいずれかを満たせばtrueとなる。
クエリ
SELECT *
FROM users
WHERE age <= 20 OR prefecture = "東京都"

query_result

  • NOT
    条件に当てはまらないデータを取得する。
クエリ
SELECT *
FROM users
WHERE NOT prefecture = "東京都"

query_result

  • BETWEEN
    範囲指定した条件にあったデータを取得する。
クエリ
SELECT *
FROM users
WHERE age BETWEEN 21 AND 24

query_result

  • IN
    特定の条件が含まれるデータを取得する。
クエリ
SELECT *
FROM users
WHERE prefecture IN ("東京都", "神奈川県")

query_result

要点整理

  • WHEREとは、取得するデータを「条件」によって制限できる.
  • LIKEとは、文字列検索を行う際に使用できる句のこと。
  • AND演算子とは、複数の条件がすべて正しい場合に、正とすることができる演算子。
  • OR演算子とは、複数の条件のうち、1つ以上を満たしたデータを取得する演算子。
  • NOT演算子とは、条件が正しくない場合に正となり、言わば否定形の演算子。
  • BETWEEN演算子とは、上限と下限を設定し、その範囲に含まれる場合は正となる演算子。
  • IN演算子とは、1つのカラムに対しリストを指定して、カラムの値がそのリストに含まれるとき、その式は正になるという演算子。
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?