如何查询“多对多”SQL表?

时间:2013-09-08 22:49:46

标签: sql many-to-many

如果我想在SQL中创建多对多关系,我必须使用3个表来执行此操作,如下所示:

create table testCases(
id int(11) auto_increment,
testcase varchar(200),
primary key(id))


create table requirements(
id int(11) auto_increment,
requirements varchar(200),
primary key(id))

和第三个表映射关系

 create table matchRequirementsToTests(
 requirements varchar(200),
 testcase varchar(200),
primary key(requirements, testcase),
foreign key (requirements) references Requirements(id),
foreign key(test case) references Test_cases(id))

我见过其他例子,有些人加了“约束”。

但我找不到任何关于如何进一步使用这个“多对多”表的例子。 (MySQL或SQL Server)。 我的意思是,我现在如何指定关系才能执行查询?

问候

1 个答案:

答案 0 :(得分:1)

在SQL中查询多个表称为连接操作。只是谷歌SQL加入,这是非常基本的。

事实上,在查询数据库时不必遵守已定义的关系。

关系只告诉数据库如何维护数据完整性。基本上,这意味着字段的有效值仅是“外部”表中存在的值。

作为旁注,正确的术语是“关系”,或者更一般地说,是“约束”。 “关系”是用于描述表本身的术语(在关系代数中)。