我只是看不出我怎么做外键的问题,我只是很困惑为什么我总是得到错误的结果。这是我工作台的截图
这是我的table:
这是我的图表
我也尝试过规范化我的表,我有点期待我的查询会返回类似的结果,就像在示例表(问题表)中一样,因为我想查询,所以它只会显示2个结果 where idsurvey = 1
我在这张照片里说:
我的问题是,如何修复外键,以便如果要查询
select * from survey.survey, survey.questions where idsurvey = 1
它只返回2行(基于工作台屏幕截图中的示例数据)
对我的图表的任何意见和建议也将不胜感激。
1条答案
按热度按时间omvjsjqw1#
当你有两张table的时候
from
子句中,第一个表中的每一行都与第二个表中的每一行匹配。这就是笛卡尔积。通常情况下,这不是您想要的行为(就像本例中不是这样),您需要使用一个条件来告诉数据库如何匹配这两个表:虽然这应该是可行的,但在同一个表中使用多个表已经过时了
from
条款。你可能应该用一个显式的join
改为条款: