在更新ID或者有人试图删除一个类别时,在MySQL中使用关系会派上用场。但有没有简单的方法来做一个SELECT查询,而不使用JOIN?从关系数据库中选择
JOIN易于使用,但是在执行SELECT时不能使用关系吗?我可以做一个没有关系的JOIN!
是否仅使用关系,以便我可以控制ID字段上的操作?
在更新ID或者有人试图删除一个类别时,在MySQL中使用关系会派上用场。但有没有简单的方法来做一个SELECT查询,而不使用JOIN?从关系数据库中选择
JOIN易于使用,但是在执行SELECT时不能使用关系吗?我可以做一个没有关系的JOIN!
是否仅使用关系,以便我可以控制ID字段上的操作?
创建数据库(特定于外键)的约束用于维护参照完整性,以防止意外删除其他行引用的行。
限制条件不提供任何方式使用自动连接的表执行SELECT
。因此 - NO
,您需要明确指定所有JOIN
。并且YES
,JOIN
不依赖于现有约束:您可以将它用于任何表,任何字段并编写任何条件,而不管它们是否通过外键关系相互引用。
是的,你可以 - 通过子查询。
SELECT *
FROM A
WHERE A.ID IN
(SELECT B.Id FROM B)
- 在这个例子中,你基本上正在做一个INNER JOIN。
和关系用于参照完整性。顶部的例子中没有保证B.Id与A.Id有任何关系。如果您的数据库密钥相互关联,那么可以保证表中的表必须存在表B
中存在的行中的记录。
但是这可以做到没有关系? – hogni89
您正在定义关系。 –
很酷。有点我正在寻找的答案:) – hogni89