Help us understand the problem. What is going on with this article?

SQL 基礎用語&文法 3

はじめに

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 カラム名

さいごに

日々勉強中ですので、随時更新します。
皆様の復習にご活用頂けますと幸いです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした