見出し画像

SQL 勉強用2

わかりみSQLを参考にSQLを学習していく
かなりの良書+400ページの大容量!!
数年ののSQLの経験あり


わかりみSQL

わかりみSQL | Kauplan Press


ORDER BY ~並び替えを行う


ORDER BY カラム名 ASC・・・昇順
ORDER BY カラム名 DESC・・・降順

SQLのコメントアウト

-- これ以降はコメントアウト(--とコメントの間に半角空白が必要
/*
行をまたぐ場合のコメントアウト
*/

Qなぜ集約関数の結果をWHERE句で使用することはできないのか?
A集約関数にはGROUP BYが必要
→WHERE句はGROUP BYの前に処理されるから

SELECT id AS ID, name AS 名前…
→ASを使用することでSELECTのカラム名を任意のものに
変更することができる

SQLではアルファベットの大文字と小文字が区別されない点に注意!!
大文字を使用したい場合は”ID”のように”ダブルクォーテーションで囲む


スクショ1

カラム名のidがIDになったことがわかる

テーブル名にも別名を使用することができる
FROM members m(asは省略可能)
導出テーブルやテーブル結合などで使用する

ASで別名をつける際の注意点

  • 別名はWHERE句で使用不可

  • (ORDER BY では使用可能)

  • テーブルの別名は使用可能。処理順の問題。

演算子について


計算式で使用される記号のこと

算術演算子 +、-、*、/
比較演算子 = 、< 、>、<= 、>= 、<>
論理演算子 and、or、not

文字列結合演算子 ||

パターンマッチ演算子


likeで使用できる演算子
」どんな文字列でも可、0文字でもOK
任意の文字列とマッチする
「_」どんな1文字でも可
任意の1文字とマッチする

'%ン'
ンで終わる


スクショ2

in演算子


in(12,13,14,14,60)
()の中の値が含まれいているか否かを調べる演算子
含まれていればTRUE

not in ()
()の中の値が含まれいていないか否かを調べる演算子
含まれていなければTRUE

nullについて


値がないことを表すキーワードのこと
「=」や「<>」などで比較することができない
計算式にnullが含まれると計算結果はnullになってしまう

そのためnullかどうかを判別するには「is null」「 is not null」を使う

coalesce()関数を使用する

値がnullだった場合に別の値にしたい場合に使用する
coalesce(x, 0) nullなら0にする
coalesce(x, '') nullなら空白にする
coalesce(x, false) nullならfalseにする

複合値

(1, 2, 3)や(11, 22, 33)
(true, true, false)
('佐藤', '田中', '鈴木')

複合値の比較

  1. 1番目同士の値で比較する

  2. それが同じ場合2番目の値で比較する

  3. それも同じ場合3番目の値で比較する

この記事が気に入ったらサポートをしてみませんか?