はじめに
SQL 基礎用語&文法 2 はコチラをクリック願います。
SQLを学んでいく上で、用語等を中心に整理していきます。
ターミナルにて入力する。もしくはSequelProのクエリにて入力するようにしております。
もうすでにご存知の方、省略の仕方等ご存知でしたら、ご教授願います。
検索する編 ちょっと応用
- SequelProにて行います。
- テーブルにデータが入っていることを想定する。
カラムの統合(複数の文字列を連結する。)
CONCAT関数
- 複数の文字列を連結する。
- 文字列にNULLがあれば結果はNULLとなる。
- SELECT句の中で用いる。
-- 式
CONCAT(文字列1, 文字列2, ...)
-- 実践してみます。
SELECT CONCAT(family_name, first_name)
FROM users
-- 結果
family_name, first_nameが統合されたカラムが検索できます。
検索結果のカラム名を変更する。
AS句
- 別名が検索結果カラム名となる。
- ASは省略可能。
-- 式
SELECT 取得するデータ AS 別名
-- 実践してみます。
SELECT CONCAT(family_name, first_name) AS "名前"
FROM users
-- 結果
family_name, first_nameが統合されたカラムが"名前"というカラムになります。
重複する行を除外する。
DISTINCTキーワード
指定したカラムの値が重複する行を除外してデータを取得する。
-- 式
SELECT DISTINCT カラム名
-- 例
SELECT DISTINCT カラム
FROM テーブル
WHERE 条件
レコードのグループ化を行う。
GROUP BY句
- 指定したカラムが同じ値をもつデータを1つのグループとしてまとめることができる。
- そのグループ単位で集計した結果を取得することができるという利点がある。
-- 式
GROUP BY カラム名
-- 例
SELECT カラム名
FROM テーブル名
WHERE 条件
GROUP BY カラム名
レコードの数を数える。
COUNT関数
- グループ化されたデータに対して使用可能な集計関数の1つ。
- カラムを指定して使用することで、そのカラムがNULLではないデータの行数を取得できる。
- カラムを*(ワイルドカード)にすることで、行の値がNULLであるレコードも含めて、その行数を取得できる。
- 他の集計関数
- 平均を求める AVG
- 最大値を求める MAX
- 最小値を求める Min
-- 式
SELECT COUNT(カラム名)
-- 実践してみます。
SELECT カラム名, COUNT(*)
FROM テーブル名
WHERE 条件
GROUP BY カラム名
さいごに
日々勉強中ですので、随時更新します。
皆様の復習にご活用頂けますと幸いです。