MySQL
[MySQL]知ってましたか?CREATE VIEWのFROM句にサブクエリ(副問合せ)が使えることを…
ヤス
更新日:2021/08/12
久しぶりのヤスです。
以前はFROM句にサブクエリ(副問合せ)を書いてCREATE VIEWを流すと怒られてました。こんな風に…
1 2 3 4 |
CREATE VIEW v_test AS SELECT * FROM (SELECT * FROM hoge LEFT JOIN gege on hoge.id = gege.id); ERROR 1349 (HY000): View's SELECT contains a subquery in the FROM clause |
MySQL 5.7から、この制限が解除されてました!
MariaDBなら10.2からですね。
https://yakst.com/ja/posts/3037
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-7.html
https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
Google先生で調べると
VIEWのFROM句にはサブクエリ含めませんよ。とか。
VIEWのFROM句を副問合せにしたいなら、VIEWにして、VIEW in the VIEWにしちゃえ。とか。
http://infinidb-tech.ashisuto.co.jp/view_from/
まとめ
MySQL 5.7以降、CREATE VIEWのFROM句にサブクエリ(副問合せ)が使える!
今できない人は純粋にバージョンの問題ならアップグレードで解決できるかも!