基本
命令句 | 用途 | 使用例 |
---|---|---|
SELECT | 検索 | SELECT [カラム名] FROM [テーブル名] SELECT * FROM [テーブル名] |
UPDATE | 更新 | UPDATE [テーブル名] SET [カラム名] = [更新内容] WHERE [更新対象の条件] |
INSERT | 追加 | INSERT INTO [テーブル名] VALUES ([追加するデータ]) |
DELETE | 削除 | DELETE FROM [テーブル名] WHERE [削除対象の条件] |
WHERE | 条件 | SELECT * FROM [テーブル名] WHERE id = 001 |
AS | 別名 | SELECT a as A FROM [テーブル名] as Table |
LIKE | 正規表現 | SELECT * FROM [テーブル名] WHERE date LIKE ‘%1月%’ |
BETWEEN | 範囲判定 | SELECT * FROM [テーブル名] WHERE money BETWEEN 100 AND 1000 |
IN | 比較 | SELECT * FROM [テーブル名] WHERE money IN(’pay’) SELECT * FROM [テーブル名] WHERE money NOT IN(’pay’) |
AND | 論理演算 | SELECT * FROM [テーブル名] WHERE title = ‘A’ AND price = 1000 |
OR | 論理演算 | SELECT * FROM [テーブル名] WHERE title = ‘A’ AND title = ‘B’ |
EXISTS | 相関副問い合わせ | SELECT 列 FROM [テーブル名A] WHERE EXISTS ( SELECT * FROM [テーブル名B] WHERE [テーブル名B].列 = [テーブル名A].列) |
JOIN ON | テーブル結合(nullはskip) | SELECT [カラムA], [カラムB] FROM [テーブル名A] JOIN [カラムB] ON [テーブル名A].[カラムB] = [テーブル名B].[カラムB] |
LEFT JOIN | [テーブルA]の行を必ず表示 | SELECT [カラムA], [カラムB] FROM [テーブル名A] LEFT JOIN [カラムB] ON [テーブル名A].[カラムB] = [テーブル名B].[カラムB] |
RIGHT JOIN | [テーブルB]の行を必ず表示 | SELECT [カラムA], [カラムB] FROM [テーブル名A] RIGHT JOIN [カラムB] ON [テーブル名A].[カラムB] = [テーブル名B].[カラムB] |
ALL JOIN | 全ての行を必ず表示 | SELECT [カラムA], [カラムB] FROM [テーブル名A] ALL JOIN [カラムB] ON [テーブル名A].[カラムB] = [テーブル名B].[カラムB] |
検索結果加工用
命令句 | 用途 | 使用例 |
---|---|---|
DISTINC | 重複行削除 | SELECT DISTINCT [カラム名] FROM [テーブル名] |
ORDER BY | 並べ替え | SELECT [カラム名] FROM [テーブル名] ORDER BY DESC SELECT [カラム名] FROM [テーブル名] ORDER BY ASC |
OFFSET-FETCH | 件数を限定 | SELECT [カラム名] FROM [テーブル名] ORDER BY [カラム名] DESC OFFSET 0 ROWSFETCH NEXT 3 ROWS ONLY |
UNION | 結合 | SELECT [カラム名] FROM [テーブル名1] UNION SELECT [カラム名] FROM [テーブル名2] |
EXCEPT | 差し引き | SELECT [カラム名] FROM [テーブル名1] EXCEPT SELECT [カラム名] FROM [テーブル名2] |
INTERSECT | 重複部分取得 | SELECT [カラム名] FROM [テーブル名1] INTERSECT SELECT [カラム名] FROM [テーブル名2] |
GROUP BY文 | グループ化 | SELECT [カラム名] ,SUM([カラム名]) FROM [テーブル名] GROUP BY [カラム名] |
HVING文 | グループ化に対する絞り込み | SELECT [カラム名] ,SUM([カラム名]) FROM [テーブル名] GROUP BY [カラム名] HAVING SUM([カラム名]) > 0 |
基本的な関数
命令句 | 用途 | 使用例 |
---|---|---|
LENGTH関数 | 文字列の長さ | SELECT [カラム名] , LENGTH([カラム名]) AS 文字列の長さ FROM [テーブル名] |
TRIM関数 | 除去 | SELECT [カラム名] , TRIM([カラム名]) AS 除去後 FROM [テーブル名] |
REPLACE関数 | 置換 | UPDATE [テーブル名] SET [カラム名] = REPLACE(文字列, 置換前,置換後) |
SUBSTRING関数 | 抽出 | SELECT * FROM [テーブル名] WHERE SUBSTRING(カラム名,1,3) |
CONCAT関数 | 結合 | SELECT CONCAT([[カラム名],’:’ || [カラム名]) FROM [テーブル名] |
ROUND関数 | 四捨五入 | SELECT ROUND([カラム名], -2) FROM [テーブル名] |
TRUNC関数 | 切り捨て | SELECT TRUCN([カラム名], -2) FROM [テーブル名] |
POWER関数 | べき乗 | SELECT POWER([カラム名], 2) FROM [テーブル名] |
CURRENT_TIMESTAMP関数 | タイムスタンプ | INSERT INTO [テーブル名] VALUES(CURRENT_TIMESTAMP) |
CURRENT_DATE関数 | 日付 | INSERT INTO [テーブル名] VALUES(CURRENT_DATE) |
CURRENT_TIME関数 | 時刻 | INSERT INTO [テーブル名] VALUES(CURRENT_TIME) |
CAST関数 | 型変換 | CAST (変換する値 AS 変換する型) |
COALESCE関数 | nullに反応する | COALESCE(列や式) |
集計関数
関数 | 用途 | 使用例 |
---|---|---|
SUM関数 | 合計 | SELECT SUM([カラム名]) FROM [テーブル名] |
MAX関数 | 最大値 | SELECT MAX([カラム名]) FROM [テーブル名] |
MIN関数 | 最小値 | SELECT MIN([カラム名]) FROM [テーブル名] |
AVG関数 | 平均値 | SELECT AVG([カラム名]) FROM [テーブル名] |
COUNT関数 | カウント | SELECT COUNT([カラム名]) FROM [テーブル名] SELECT COUNT(DISTINCT [カラム名]) FROM [テーブル名] |
トランザクション
記法 | 用途 | 使用例 |
---|---|---|
BEGIN~COMMIT | トランザクション処理を明記 | BEGIN; INSERT INTO ~~ COMMIT; |
READ COMMITED | ある程度のロック | SET TRANSACTION ISOLATION LEVEL READ COMMITTED |
SERIALIZABLE | 完全なるロック | SET TRANSACTION ISOLATION LEVEL SERIALIZABLE |
FOR UPDATE | 明示的な行ロック | SELECT * FROM Table WHERE a = 100 FOR UPDATE |
LOCK | 明示的なテーブルロック | LOCK TABLE tableName IN EXCLUSIVE(排他ロック) MODE |
テーブル関係
記法 | 用途 | 使用例 |
---|---|---|
CREATE TABLE | 新規テーブル | CREATE TABLE [テーブル名]( [カラム名], [型] ) |
DROP TABLE | テーブル削除 | DROP TABLE [テーブル名] |
ALTER TABLE | 列追加/削除 | ALTER TABLE [テーブル名]ADD [カラム名] ALTER TABLE [テーブル名]DROP [カラム名] |
NOT NULL | 入力制約(null) | CREATE TABLE [テーブル名]( [カラム名] 型 NOT NULL ) |
CHECK | 入力制約(条件文) | CREATE TABLE [テーブル名]( [カラム名] 型 CHECK([カラム名] ≥ 0) ) |
UNIQUE | 入力制約(重複禁止) | CREATE TABLE [テーブル名]( [カラム名] 型 UNIQUE ) |
CREATE INDEX | インデックスの作成 | CREATE INDEX [インデックス名] ON [テーブル名]([カラム名]) |
DROP INDEX | インデックスの削除 | DROP INDEX [インデックス名] |
CREATE VIEW | ビューの作成 | CREATE VIEW [ビュー名] AS [SELECT文] |
DROP VIRE | ビューの削除 | DROP VIRE [ビュー名] |