口座テーブル
口座番号 | 名義 | 種別 | 残高 | 更新日 |
---|---|---|---|---|
0642191 | アオキ ハルカ | 1 | 364055 | 2013-03-13 |
1039410 | キノシタ リョウジ | 1 | 259017 | 2012-11-30 |
1239855 | タカシナ ミツル | 2 | 650977 | NULL |
残高が0より大きいデータを抽出
select * from 口座 where 残高 > 0
更新日が登録されていないデータを抽出
select * from 口座 where 更新日 is null
アオを含む名義のデータを抽出
select 名義 from 口座 where like '%アオ%'
更新日が2013年3月のデータを抽出
select * from 口座 where 更新日 between '2013-03-01' and '2013-03-31'
口座番号を降順に取得
select * from 口座 order by 口座番号 desc
更新日と残高を降順に11~20件のみ抽出。
ただし、残高が0円、または更新日の設定がないデータは除外する。
select 更新日, 残高 from 口座 where 残高 > 0 and 更新日 is not null order by 残高, 更新日 desc limit 10 offset 10
それぞれの残高から5000円ずつマイナスしてから0.3%足す。
update 口座 set 残高 = ( 残高 - 5000 ) * 1.003
2013年以前のデータを対象に、口座番号、更新日、通帳期限日を抽出。
通帳期限日は更新日の360日後とする。
select 口座番号, 更新日, 更新日 + 360 as 通帳期限日 from 口座 where 更新日 < '2013-01-01'
口座番号、名義、残高ランクを抽出。残高ランクは残高が30万未満をC、30万以上50万以内をB、それ以外をAとする。
select 口座番号, 名義,
case when 残高 < 300000 then 'C'
when 残高 >= 300000 and 残高 <= 500000 then 'B'
else 'A' end as 残高ランク from 口座