CTEを使うと、このような「ごちゃごちゃ」したクエリが、結構すっきりに書換えれるようになります。
CTEは複雑なクエリを一度部品化したような扱いにし、再利用できるようにします。※一回しか使わなくても再利用です。
元のテーブルをCTEで書き換えると、以下のようになります。
With BASE as(
Select * From
T_alocate A
left Outer join
M_tag M
on
A.tagid=M.tagid
Where M.name Like '%AKB%'
)
Select * From BASE
ごちゃごちゃ感があまり変わってないように見えた方はこのように二つに分割してみてください。
With BASE as(
Select * From
T_alocate A
left Outer join
M_tag M
on
A.tagid=M.tagid
Where M.name Like '%AKB%'
)
+
Select * From BASE
ごちゃごちゃしていた部分が【BASE】にまとめられています。このBASEに対して
Where 区をかけるだけで良くなったのです。
Select * From BASE Where userid Like '%2'
実際にはこれだとだめですが、すっきりになったと思いませんか?
input欄のSQLにuserid
Like '%2'を付け加えて完成させてみてください。