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-07-06

SQLの基本文法のおさらいをしたのでまとめました。

 

データの検索

テーブルの指定

FROM テーブル名

カラムの指定

SELECT カラム名

使い方

ex)
SELECT * FROM users;

ワイルドカード

* のこと
上記では「すべてのカラム」を取得している

取得するレコードの制限

WHERE 条件

ex)
SELECT * FROM users WHERE name = "白石";

条件に使用できる論理演算子

  • AND
  • OR
  • NOT

1つのカラム内での範囲検索

WHERE カラム名 BETWEEN 下限 AND 上限

ex)
SELECT * FROM users WHERE age BETWEEN 21 AND 24;
-- ageが20以上かつ25以下

1つのカラム内でのリスト検索

WHERE カラム名 IN (値1, 値2, ……)

ex)
SELECT * FROM users WHERE prefecture IN ("岐阜", "愛知");

データの検索と形成

データの結合

# CONCAT関数
CONCAT(文字列1, 文字列2, ……)

ex)
SELECT CONCAT(family_name, first_name) FROM users;

検索結果のカラム名の変更

# AS
SELECT 取得するデータ AS 別名

ex)
SELECT CONCAT(family_name, first_name) AS "名前" FROM users;

:pencil: ASは省略ができる。

重複するデータを除外

SELECT DISTINCT カラム名

ex)
SELECT DISTINCT user_id FROM units WHERE date = "2020-07-06";

レコードのグループ化

GROUP BY カラム名

ex)
SELECT user_id FROM units WHERE date = "2020-07-06" GROUP BY user_id;

:pencil: DISTINCT と GROUP BYの例文の取得データは同じ(見た結果)
GROUP BYは集計した結果を取得することができる。

レコードの数を取得

SELECT COUNT(カラム名)

ex)
SELECT user_id, COUNT(*) "コマ数" FROM units WHERE date = "2015-07-01" GROUP BY user_id;

集計関数

  • AVG 平均
  • MAX 最大値
  • MIN 最小値

データの結合

FROM テーブル名1 JOIN テーブル名2 ON テーブル名1.カラム名1 = テーブル名2.カラム名2

ex)
SELECT user_id, COUNT(*) "コマ数", FROM units s JOIN users u ON s.user_id = u.id WHERE date = "2020-07-06" GROUP BY user_id;

サブクエリ

SQLの中に入れ子になってSQLがはいっていること。

ex)
SELECT *
FROM users WHERE id NOT IN ( SELECT DISTINCT user_id FROM shifts WHERE date = "2015-07-01");

どんどん文が複雑になっていきますね。。 でも読み解くことはできるので慣れかな〜と思っています♫

お読みいただき、ありがとうございました🌸

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?