【发布时间】:2011-01-05 04:13:54
【问题描述】:
SQL Views 对于 MySQL 的功能是否有任何限制?
例如:您可以使用“JOIN”命令创建表视图吗?
【问题讨论】:
SQL Views 对于 MySQL 的功能是否有任何限制?
例如:您可以使用“JOIN”命令创建表视图吗?
【问题讨论】:
您应该阅读Restrictions on Views 以了解有关查看限制的详细信息。
【讨论】:
MySQL 允许 JOIN 命令
【讨论】:
简短的回答 - 是的。在两个词中,视图刚刚命名为 select(当然没有 order by)。
【讨论】:
与 SQL 中的所有其他内容一样,语法、功能和可能性取决于您使用的数据库管理系统。但是加入表格是非常基本的东西。没有它,视图就没有多大用处。
【讨论】:
关于 JOIN,是的:
mysql> create table foo (i int);
Query OK, 0 rows affected (0.03 sec)
mysql> create table bar (i int);
Query OK, 0 rows affected (0.03 sec)
mysql> create view foobar as select foo.i as foo_i, bar.i as bar_i from foo join bar on (foo.i=bar.i);
Query OK, 0 rows affected (0.02 sec)
但正如其他人的回答所指出的那样,该手册是一个很好的资源。
【讨论】:
临时表:
CREATE TEMPORARY TABLE super (id int);
mysql> CREATE OR REPLACE view cat AS SELECT * FROm super;
ERROR 1352 (HY000): View's SELECT refers to a temporary table 'super'
系统和本地变量:
mysql> SELECT @sosize;//1000
mysql> CREATE OR REPLACE view cat AS SELECT *,@sosize FROm super;
ERROR 1351 (HY000): View's SELECT contains a variable or parameter
子查询:
CREATE OR REPLACE view cat AS SELECT * FROm SELECT * FROM super;
ERROR 1349 (HY000): View's SELECT contains a subquery in the FROM clause
【讨论】: