はじめに
データ分析に必要なSQLの基本をまとめました
データ操作言語(DML)
文字 | 用途 |
---|---|
SELECT | 列名の検索 |
FROM | テーブルの選択 |
WHERE | 条件式の入力 |
DISTINCT | SELECTの後ろにつけて検索するデータの重複を削除する |
IS NULL | 条件式でNULLであるものを抽出 |
BETWEEN | 条件式で下限と上限を指定 |
IN | 複数の条件式で一つでも当てはまれば抽出 |
LIKE | ワイルドカード(%、_)を用いて曖昧な検索 |
ORDER BY,ASC,DESC | レコードを昇順や降順に並び替える |
JOIN | テーブルのキーを指定して同じ項目を結合 |
LEFT,RIGHT,FULL OUTER JOIN | 指定した方向の列は全て表示し、一致しないものはNULL |
CROSS JOIN | テーブルの積を表示 |
JOIN AS | 自己結合する際にFROM句でASで別名をつけて区別 |
EXISTS | 存在するか(サブクエリなどで) |
ANY,SOME | サブクエリなどでいずれかの値を評価 |
UNION,UNION ALL | SELECTで取得したレコードを統合、ALLをつけると重複分も記述 |
EXCEPT,MINUS | 上の取得レコードにあって下の取得レコードにないものを取得 |
INTERSECT | 共通するレコードを取得 |
INSERT INTO VALUES | レコードを追加 |
INSERT SELECT | 他のテーブルから取得したレコードを追加 |
UPDATE | 条件式のところにSETで項目を更新 |
DELETE FROM | 条件式似合うものをテーブルから削除 |
SUM ,AVG ,COUNT ,MAX ,MIN | 集計関数として指定した列の様々な計算を行う |
GROUP BY | 指定した列内で同じ種類のものをまとめて表示 |
HAVING | 集計関数を条件式に入れたいときに使う |
+,CONCAT,縦棒2個 | 文字列を連結するときに各DBMSで異なる |
UPPER,UCASE,LOWER,LCASE | 文字列を大文字や小文字に変換 |
SUBSTRING,Mid | 文字列の一部を取得。DBMSで異なる |
TRIM ,LTRIM ,RTRIM | 文字列の左右の空白を削除 |
TRIM,BOTH,LEADING,TRAILING | 文字列の左右の特定の文字を削除 |
REPLACE,TRANSLATE | 文字列内の指定した文字を別のものに置き換える |
CHAR_LENGTH,LEN,LENGTH | 文字列の文字数を取得 |
OCTET_LENGTH,LENB,LENGTHB,LENGTH | 文字列のバイト数を取得 |
数学関数 | 色々な計算 |
日付関数 | 日時を取得 |
型変換関数 | 数値や文字列、日付の型を入れ替える |
データ定義言語 (DDL)
文字 | 用途 |
---|---|
CREATE DATABASE | データベースを作成 |
DROP DATABASE | データベースを削除 |
ALTER TABLE | テーブルの定義を変更する |
RENAME TABLE | テーブル名を変更する |
CREATE VIEW | ビューを作成する |
CREATE INDEX | インデックスを作成する |
CREATE USER | ユーザーを作成する |
GRANT | ユーザーにアクセス権を追加する |
REVOKU | ユーザーからアクセス権を削除する |
CREATE TRIGGER | トリガーを作成する |
データ制御言語(DCL)
文字 | 用途 |
---|---|
BEGIN TRANSACTION | トランザクションを開始する |
COMMIT | トランザクションを確定する |
ROLLBACK | トランザクションを取り消す |
SAVEPOINT | セーブポイントを作成する |
参考サイト