如何使用 SQL 永久连接两个表?
Posted
技术标签:
【中文标题】如何使用 SQL 永久连接两个表?【英文标题】:How to join two tables permanently with SQL? 【发布时间】:2011-11-27 07:23:29 【问题描述】:是否可以永久连接两个表?我将在哪里执行一次该查询,然后即使我退出 DBMS,它也可以自动加入?
【问题讨论】:
【参考方案1】:您可能想考虑创建一个view。
视图本质上是一个存储的 SQL 语句,您可以像查询表一样查询它。
create view MyView as
select TableA.Field1, TableB.Field2
from TableA
join TableB on TableB.ID = TableA.ID
select *
from MyView
【讨论】:
在那之后?就是这样?我不打算更新了吗?或者其他的东西?因为我正在做一个 JDBC 项目,我不想在每次查找一些数据时都继续使用 join 子句 我可以加入/查看超过 2 个表吗?因为我有一张员工表,个人信息和联系信息 @user962206 是的,是的。您可以加入任意数量的表格。 另外,如果您没有加入Primary Key
,您可能需要创建 indexes 来备份视图中的加入
我要用主键加入他们。因为这是我所知道的最简单的事情【参考方案2】:
如果您总是同时写入并从连接中读取,则可以将它们合并为一个,然后仅从该连接中写入和选择。
--==[ before ]==--
insert into user (id, name) values (1, "Andreas");
insert into email (id, email) values (1, "andreas - at - wederbrand.se");
select user.id, user.name, user.email from user, email where user.id = email.id;
--==[ do the merge ]==--
create table user_with_email select user.id, user.name, user.email from user, email where user.id = email.id;
drop table user;
drop table email;
--==[ after ]==--
insert into user_with_email id, name, email values (2, "Bruce", "Bruce - at - springsteen.com");
select id, name, email from user_with_email;
【讨论】:
以上是关于如何使用 SQL 永久连接两个表?的主要内容,如果未能解决你的问题,请参考以下文章