Mysql 在SQL中,当我们连接表时,是否有新表的名称?
例如,在Pandas中,我们可以应用一个掩码,创建一个新的数据帧并为其指定一个名称。类似地,在SQL中,一旦我对两个表进行左联接,是否有方法引用新的组合表?否,这在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; 如果两个表中的列名称相同,则可能会出现问题,因此必须检查第二列的别名是否相等,
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)