##はじめに
構文を1行で書けるものは1行で書いてしまっているので、見にくい部分もあるかもしれませんが、ご容赦ください。
##データの取得
SELECT ✳︎(カラム名) FROM テーブル名
✳︎は全部のカラムを指す。カラムを指定することで、特定のカラムのデータを取得できる。
##データの追加
INSERT INTO テーブル名 VALUES ('1', '太郎', 'こんにちは', '2021/05/18')
VALUES後の値は設定しているカラムの左から順番に入れたい値を入れていく。
##データの更新
UPDATE テーブル名 SET カラム名 = 値, カラム名 = 値 WHERE id = 1
WHERE以降は更新したいレコードの条件をつける。
##データの削除
DELETE FROM テーブル名 WHERE 条件
条件に合致したものを削除するというもの
##検索の絞り込み
###AND,OR
SELECT * FROM テーブル名 WHERE 条件 AND 条件
SELECT * FROM テーブル名 WHERE 条件 OR 条件
ANDは「〜かつ〜」
ORは「〜または〜」
###比較演算子
「=」 等しい
「<」 右辺の方が大きい
「>」 左辺の方が大きい
「<=」 左辺は右辺以下
「>=」 左辺は右辺以上
「<>」 等しくない
###NULL判定
・NULLの場合
SELECT * FROM テーブル名 WHERE カラム名 IS NULL
・NULLじゃない場合
SELECT * FROM テーブル名 WHERE カラム名 IS NOT NULL
###LIKE
・パターン文字
「%」 任意の0文字以上の文字列
「」 任意の1文字
・「1月」の前後に0文字以上の文字列がついている日付カラムの値のレコードの指定
SELECT * FROM テーブル名 WHERE 日付 LIKE '%1月%'
・「1月」の後ろに1文字ついている日付カラムの値のレコードの指定
SELECT * FROM テーブル名 WHERE 日付 LIKE '1月'
###BETWEEN~AND
・ある範囲内に値が収まっているかの判定
SELECT * FROM テーブル名 WHERE お金 BETWEEN 1000 AND 30000
###IN/NOT IN
・指定のカラムの値が指定の値のいずれかと合致する所を抽出する。
SELECT * FROM テーブル名 WHERE カラム名 IN (値1,値2,値3,・・・)
・指定のカラムの値が指定の値のいずれとも合致しない所を抽出する。
SELECT * FROM テーブル名 WHERE カラム名 NOT IN (値1,値2,値3,・・・)
##検索結果の加工
###DISITINCT
・重複行を除外する
SELECT DISTINCT ユーザー名 FROM テーブル名
###ORDER BY
・結果を並べ替える
SELECT * FROM テーブル名 ORDER BY 金額 DESC
DESC:降順 ASC:昇順(デフォルト)
##結合
###内部結合
SELECT カラム名1, カラム名2, ... FROM テーブル名1
INNER JOIN テーブル名2 ON 結合の条件
・ベースとなるテーブルから条件にマッチしないものは削除される
###外部結合
SELECT カラム名1, カラム名2, ...,FROM テーブル1
LEFT(RIGHT) OUTER JOIN テーブル名2 ON 結合の条件
※LEFT OUTER JOIN: 左側のテーブルを軸にして外部結合を行う方法
※RIGHT OUTER JOIN:右側のテーブルを軸にして外部結合を行う方法
・ベースとなるテーブルから条件にマッチしないものはNULL表示される
More than 3 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme