1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

個人的に忘れそうなSQL文まとめ

Last updated at Posted at 2023-03-14

「 ` 」は書式には関係ないです

BETWEEN演算子

ある範囲内に値が収まっているか判定する

書式
select * 
from `表` 
where `列名` BETWEEN `値1` and `値2`; 

IN / NOT IN演算子

カッコ内に並べた値のいずれかに合うデータがあるか判定する。
= では一つしか判定できないが、IN演算子は複数の値を判定できる

書式
select * 
from `表` 
where `列名` IN (`値1`,`値2`); 

ORDER BY ---- 結果の並び替え

ORDER BYを記述すると、指定した列名を基準に結果を並び替える
ASC … 昇順
DESC … 降順

書式
select * 
from `表` 
ORDER BY `列名` ASC or DESC; 

行数を限定して、抽出する

一部の行だけを抜き出したい場合はORDER BY句に続けて、OFSET - FETCH句をつける

select * 
from `表` 
ORDER BY `列名`
OFFSET `先頭から除外する行` ROWS
    FETCH NEXT `取得行数` ROWS ONLY; 

DISTINCT ---- 重複を除外する

DISTINCTを記述すると、重複した行があれば取り除いてくれる

書式
select DISTINCT `列名`
from `表`;

UNION演算子 ---- 和集合を求める

和集合

2つのSELECT文をUNIONでつなぐと、検索結果を足し合わせた結果が返ってくる

select `列名` from `表` 
UNION
select `列名` from `表` 

EXCEPT(エクセプト)演算子 ---- 差集合を求める

差集合

上のSELECT文の検索結果から、下のSELECT文の検索結果に存在する行を引いた集合

select `列名` from `表` 
EXCEPT
select `列名` from `表` 

INTERSECT演算子 ---- 積集合を求める

積集合

2つのSELECT文に共通する行を抽出する

select `列名` from `表` 
INTERSECT
select `列名` from `表` 

集合演算は2つ目のselect文の後ろにORDER BY句を付けれる
(途中には書けない)

CASE演算子 ---- 値を変換する

列の値や条件式を評価し、その結果に応じて値を変換してくれる

CASE `評価する列や式` WHEN `値1` THEN `値1の時に返す値`
                     WHEN `値2` THEN `値2の時に返す値`...
                     ELSE `デフォルト値`
END AS `つけたい名前`                 

LENGTH/LEN関数 ---- 長さを得る

文字列の長さを調べてくれる
LENはSQL ServerでLENGTH関数の代わりに使う

select LENGTH(`列名`) AS `列名の長さ` from `表名`                 

SUBSTRING関数 ---- 一部を抽出する

「何文字目から何文字文」文字列を抽出できる

費目列の1~3文字目に「費」があるものを抽出
select * from `表名`
where SUBSTRING(`費目`,1,3) LIKE '%費%'                 

REPLACE関数 ---- 文字列を別の文字列に変換する
文字列「axxle」の「x」を「p」に変換して「apple」にできる

LENGTH関数で文字列の空白を半角にするときにも使う

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?