SQLコード

SELECT FROM

テーブルから情報を取り出す

SELECT <カラム名> 
FROM <テーブル名>;

テーブルの全情報を取り出す

SELECT * 
FROM <テーブル名>;

テーブルのあるカラムの重複がない情報のみを取り出す

SELECT DISTINCT user_id 
FROM <テーブル名>;

テーブルのあるカラムを除外して情報を取り出す

SELECT * EXCEPT(<カラム名>, <カラム名>・・・) 
FROM <テーブル名>;

ORDER BY

昇順に並べ替える

SELECT <カラム名> 
FROM <テーブル名> 
ORDER BY <カラム名> ASC;

降順に並べ替える

SELECT <カラム名> 
FROM <テーブル名> 
ORDER BY <カラム名> DESC;

複数のカラムで並べ替える

SELECT <カラム名>
FROM <テーブル名>
ORDER BY <優先順位1カラム> ASC, <優先順位2カラム> DESC, <優先順位3カラム> DESC;

複数のカラムで並べ替える(列の順番でカラムを指定する)

SELECT <カラム名>
FROM <テーブル名>
ORDER BY 3 ASC, 1 DESC, 2 DESC;

LIMIT OFFSET

取得する行数を指定する

SELECT <カラム名> 
FROM <テーブル名> 
limit <指定したい数>

上から指定する行をずらして、行数を指定して表示する。

SELECT <カラム名> 
FROM <テーブル名> 
limit <指定したい数> 
OFFSET <ずらしたい数>

※ ORDER BYと合わせることが多い!

WHERE、BETWEEN-AND、IN、LIKE

条件に合致する行を取得する。

例:あるカラムのデータが3以上の行を取得する

SELECT <カラム名>
FROM <テーブル名> 
WHERE <カラム名> >= 3;

例:あるカラムのデータが3以上10以下の行を取得する。

SELECT <カラム名> 
FROM <テーブル名> 
WHERE <カラム名> BETWEEN 3 AND 10;

例:あるカラムのデータが複数の数値と一致する行のみ取得する。

SELECT <カラム名> 
FROM <テーブル名> 
WHERE <カラム名> IN (3,10,20);

例:あるカラムのデータが特定の文字と一致する行を取得する。

SELECT <カラム名> 
FROM <テーブル名> 
WHERE <カラム名> = '一致したい文字';

※ 文字の場合は、シングルクォテーションで囲むこと。

例:あるカラムのデータが魚、魚君の行を取得する。

SELECT <カラム名> 
FROM <テーブル名> 
WHERE <カラム名> in ('魚', '魚君');

例:あるカラムのデータが魚で終わらない行を取得する。

SELECT <カラム名> 
FROM <テーブル名> 
WHERE <カラム名> NOT LIKE ('%魚');

※ LIKEを使えば、正規表現を使用できる。

  • %
  • _ 任意の一文字
  • *

例:あるカラムのデータが2020年1月1日より前のレコードをを取得する

SELECT <カラム名>
FROM <テーブル名>
WHERE <カラム名> < "2020-01-01";

例:あるカラムのデータが2020年1月1日から2020年6月1日の間を除くレコードを取得する。

SELECT <カラム名>
FROM <テーブル名>
WHERE <カラム名> NOT BETWEEN 2020-01-01 AND 2020-06-01;

例:あるカラムのデータがFalseの行のみを取得する。

SELECT <カラム名>
FROM <テーブル名>
WHERE <カラム名> is False;

例:あるカラムAのデータが男であり、カラムBのデータが25以下である、もしくはカラムCの値が2の行を取得する

SELECT <カラム名>
FROM <テーブル名>
WHERE (カラムA="男" AND カラムB<25) OR カラムC=2;

例:あるカラムのデータが空白の行を取得する

SELECT <カラム名>
FROM <テーブル名>
WHERE <カラム名> is null;

AS

エラーにならないパターン

SELECT <カラム名> AS <変更したい名前> 
FROM <テーブル名>
SELECT <カラム名> AS <変更したい名前> 
FROM <テーブル名>
ORDER BY <変更したい名前> DESC
LIMIT 5;

エラーになるパターン

SELECT <カラム名> AS <変更したい名前> 
FROM <テーブル名>
WHERE <変更したい名前> <= 10000;

※ WHEREにはASで適用した名前が使えないので注意!!!1

データの集計(count)

条件に応じた行数を取得する場合
SELECT COUNT(<カラム名>) as <つけたい名前>
FROM <テーブル名>
WHERE <カラム名1>=2 
AND <カラム名2> >="1989-01-08";

複数のカウントを取ってくる、条件以外の行数を取得する場合

SELECT COUNT(<カラム名>) as <つけたい名前>, COUNT(<カラム名>) as <つけたい名前>, COUNT(<カラム名>) as <つけたい名前>
FROM <テーブル名>
WHERE <カラム名1>=2 
AND <カラム名2> >="1989-01-08";

ORDER BY

グループ化の処理

例:あるカテゴリデータが入っているカラムをグループ化し、カテゴリデータごとに出現数を集計する。

SELECT <グループ化したいカラム名>, count(*) as <カウント結果のカラム名>
FROM <テーブル名>
GORUP BY <グループ化したいカラム名>

注意:GROUP BYを利用する場合は、必ずSELECT文の後に、グループ化したカラム名を入れる必要はある。

例:上記の例でカラム名ではなく、カラムの列番号で表現した場合

SELECT <カラムの列番号>, count(*) as <カウント結果のカラム名>
FROM <テーブル名>
GORUP BY <グループ化したいカラムの列番号>

例:複数のカラムのグループ化し、出現数を集計する。

よければSNSをフォローしてあげてください!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

未分類

前の記事

gitコマンド