Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在SQL中,当我们连接表时,是否有新表的名称?_Mysql_Sql_Sqlite - Fatal编程技术网

Mysql 在SQL中,当我们连接表时,是否有新表的名称?

Mysql 在SQL中,当我们连接表时,是否有新表的名称?,mysql,sql,sqlite,Mysql,Sql,Sqlite,例如,在Pandas中,我们可以应用一个掩码,创建一个新的数据帧并为其指定一个名称。类似地,在SQL中,一旦我对两个表进行左联接,是否有方法引用新的组合表?否,这在SQL中不起作用,至少不能直接引用 但是您可以执行子查询 像 或者一个观点 CREATE VIEW v AS SELECT t1.*,t2.* FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.refid; 如果两个表中的列名称相同,则可能会出现问题,因此必须检查第二列的别名是否相等,

例如,在Pandas中,我们可以应用一个掩码,创建一个新的数据帧并为其指定一个名称。类似地,在SQL中,一旦我对两个表进行左联接,是否有方法引用新的组合表?

否,这在SQL中不起作用,至少不能直接引用

但是您可以执行子查询

或者一个观点

CREATE VIEW v AS SELECT t1.*,t2.* FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.refid;

如果两个表中的列名称相同,则可能会出现问题,因此必须检查第二列的别名是否相等,如果第二列的别名相等,则可以联接两个表,并以新的组合形式获得结果,还可以为该表命名。只要尝试这个查询,如果有任何疑问,随时可以询问

 MYSQL QUERY
  EMP(C1, C2, CD1)
  DEPT(D1, D2)

  SELECT NEWTABLE.First, NEWTABLE.Third 
  FROM
  (SELECT E.C1 AS First, E.C2 AS Second, D.D2 AS Third FROM EMP E, DEPT D WHERE
   E.CD1 = D.D1) NEWTABLE
   WHERE NEWTABLE.Second > 20;
我们已经创建了一个虚拟表,即“NEWTABLE”,您也可以给出自己的名字

(SELECT E.C1 AS First, E.C2 AS Second, D.D2 AS Third FROM EMP E, DEPT D WHERE
       E.CD1 = D.D1)
这是我们应用join查询的查询,我们还从两个表中选择了三行,并将其重命名为“第一”、“第二”和“第三”

你会在第一行得到疑问,让我澄清一下,我们已经执行了NEWTABLE操作;在join之后得到的新表上

如果你对这个问题还有任何疑问,尽管问

存储在新表中的值是临时的,您只能将其用于该查询


如果要存储永久值,则必须创建一个新表,然后将该表与我们加入的表一起分配给该表,依此类推。

您可以从查询中创建一个视图,并将其公开给所需的用户。在mysql中,视图也是可更新的。这将是一个“表表达式”。它可以是一个带有别名的动态表表达式;如果你想使它永久化,那么你可以为它创建一个“视图”。@我明白了,我的问题是,一旦我合并了两个表,如何引用新表在多个查询中进行额外的分析。我认为新表可以分配给一个变量,未来的操作可以使用该变量完成。将查看动态表表达式。由于您希望在以后的多个查询中使用此结果,因此可能需要创建一个视图。然后,您可以使用此视图、其他表或更多视图组合更多查询。
(SELECT E.C1 AS First, E.C2 AS Second, D.D2 AS Third FROM EMP E, DEPT D WHERE
       E.CD1 = D.D1)