SQLメモ(1) 副問い合わせ・関数

[副問い合わせ]

内側にあるSELECT文が実行される

外側にあるSELECT文が実行される

3パターン
・単一の値の代わりとして、副問い合わせの検索結果を用いる
 単一行副問い合わせとは?
  検索結果が1行1列の1つの値となる副問い合わせを指す
  
・複数の値の代わりとして、副問い合わせの検索結果を用いる
 複数行副問い合わせとは?
  検索結果がn行1列の複数の値となる副問い合わせ(ただしnは1以上)
  複数の値との判定を行うwhere句の条件式やselect文のfrom句に記述することが
  出来る
  
  【判定式】
  IN演算子 複数の値との比較が可能
  IN どれかと一致するなら真
  ANY どれかと不等号式との比較で合致していれば真
  ALL すべてと不等号式との比較で合致していれば真
  
・表の値の代わりとして、副問い合わせの検索結果を用いる

[substring]
select substring(メールアドレス, length(メールアドレス)-1, 2) from 回答者

[case文] 文字列の繋げ方 xx || xx
select trim(メールアドレス) as メールアドレス,
case when 年齢 >= 20 AND 年齢 < 30 then '20代'
when 年齢 >= 30 AND 年齢 < 40 then '30代'
when 年齢 >= 40 AND 年齢 < 50 then '40代'
when 年齢 >= 50 AND 年齢 < 60 then '50代' end
|| ':' ||
case when 性別 = 'M' then '男性'
when 性別 = 'F' then '女性' end as 属性
from 回答者

join 結合条件に合致したもののみで作る
left join 左の表は、結合条件に満たないものもすべて作る
right join 右の表は、結合条件に満たないものもすべて作る
full join すべての表は、結合条件に満たないものもすべて作る