表:
是否可以在不使用JOIN或INNER JOIN查询命令的情况下链接关系数据库中的多个表,而无需在表中复制数据?
因此,甚至说另一种创建关系的方式,使一个表“指向”另一个数据。
这样人们就可以查询以下内容并立即成功从所有表中检索所有数据:
MySQL:
SELECT * FROM TUsers;
答案 0 :(得分:1)
你可以在没有“出现”的情况下使用连接(即,JOIN这个词不在查询中),但是MySQL仍会执行JOIN
......
SELECT *
FROM TUsers, TCompanies
WHERE TUsers_CompanyID=TCompanies_ID;
答案 1 :(得分:0)
您将无法使用JOIN
来表示您希望如何显示数据,但您可能想要做的是创建所谓的VIEW,以便实际上,只要您想查询用户数据,就不必输入JOIN
命令:
CREATE VIEW UsersView AS
SELECT *
FROM TUsers a
INNER JOIN TCompanies b ON a.TUsers_CompanyID = b.TCompanies_ID
然后,一旦定义了视图,您就可以像UsersView
那样选择:
SELECT * FROM UsersView
...它将返回用户信息 以及 加入的公司信息。您可以将视图视为简化(或“简化”)更复杂查询的一种方式,因为在底层,它实际上与以下内容相同:
SELECT *
FROM
(
SELECT *
FROM TUsers a
INNER JOIN TCompanies b ON a.TUsers_CompanyID = b.TCompanies_ID
) UsersView