MySQLのビュー内でのサブクエリとビューの扱いについて
2018年09月17日
MySQLで、複数のテーブルを組み合わせた処理を行うときに、ビューは便利な機能です。
ビューを使うことで、よく使うテーブルの組み合わせで都度構文を組み立てる必要がなくビューを呼び出すとよいだけに簡素化されます。
ただし、ビューでも定義するときに、複雑な処理のビューを作ろうと思った場合、注意する必要があります。
まず、ビュー内でサブクエリを呼び出すのは、特定のバージョンまではできなかったのですが、最新のバージョンではできるようになっているようです。
MySQL 5.7、MariaDBなら10.2以降はできますが、それ以前のバージョンではできません。
その場合で少し複雑なビューを作ろうと思った場合、複数のビューを組み合わせることで実現可能です。
まずビューの中で呼び出そうと思っていたサブクエリにあたるビューを定義し、そのビューをビューを定義する際に呼び出すといったやり方です。