Ограничения табличного представления MySQL - PullRequest
1 голос
/ 14 января 2010

Существуют ли какие-либо ограничения в функциональности SQL Views для MySQL?

ex: Можете ли вы создать табличное представление, используя команды 'JOIN'?

Ответы [ 6 ]

5 голосов
/ 14 января 2010

Вы должны прочитать Ограничения на просмотры для получения подробной информации об ограничениях просмотра.

0 голосов
/ 17 июня 2015
  1. Временная таблица:

    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'
    
  2. Системные и локальные переменные:

    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
    
  3. подзапросов:

    CREATE OR REPLACE view cat AS SELECT * FROm SELECT * FROM super;
    ERROR 1349 (HY000): View's SELECT contains a subquery in the FROM clause
    
0 голосов
/ 14 января 2010

Как и все остальное в SQL, синтаксис, функции и возможности зависят от системы управления базой данных, с которой вы работаете. Но объединение таблиц - довольно простой материал. Представления не будут иметь большого значения без него.

0 голосов
/ 14 января 2010

Краткий ответ - да. В двух словах просмотр только что названного выбора (без заказа, конечно).

0 голосов
/ 14 января 2010

Относительно 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)

Но, как указали другие ответы, руководство является отличным ресурсом.

0 голосов
/ 14 января 2010

MySQL допускает команды JOIN

Синтаксис MySQL Create View

...