Question

Y a-t-il des limites à la fonctionnalité de Vues SQL pour MySQL?

ex: Pouvez-vous créer une vue de table à l'aide des commandes 'JOIN

Était-ce utile?

La solution

Vous devriez lire Restrictions sur Vues pour plus de détails sur les limitations de vue.

Autres conseils

MySQL permet JOIN commandes

MySQL Créer Voir la syntaxe

Réponse courte - Oui. En deux mots afficher simplement appelé select (sans ordre par bien sûr).

Comme tout le reste dans SQL, la syntaxe, les caractéristiques et les possibilités dépendent du système de gestion de base de données que vous travaillez. Mais se joindre à des tables est une chose assez basique. Vues ne seraient pas d'une grande utilité sans elle.

En ce qui concerne JOIN, oui:

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)

Mais comme d'autres réponses ont souligné, le manuel est une excellente ressource.

  1. Tableau temporaire:

    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. vars système et local:

    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. Sous-requêtes:

    CREATE OR REPLACE view cat AS SELECT * FROm SELECT * FROM super;
    ERROR 1349 (HY000): View's SELECT contains a subquery in the FROM clause
    
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top