为了账号安全,请及时绑定邮箱和手机立即绑定

同一张表内查询多个条件查询地疑问?

同一张表内查询多个条件查询地疑问?

慕粉4241372 2017-06-10 12:20:03
我要查询同时c_name中有计算机和英语的stu_id查询语句是:SELECT a.stu_id FROM score a,score b WHERE a.stu_id = b.stu_id AND a.c_name = '计算机' AND b.c_name = '英语'这样是正确地,但不能理解地是为什么要加上a.stu_id = b.stu_id,如果不加上会出现很多重复地记录再比如这样查询SELECT a.* FROM score a,score b会出现a表10倍的重复记录,能解释一下产生这样的原理吗
查看完整描述

3 回答

?
qq_Dreamy_旧城_0

TA贡献24条经验 获得超2个赞

因为你这里用到了两张表,甚至你以后还会用到三表或多表连接,如果说你不进行一下条件约束,系统是没有思维的,它会把所有符合的结果都展示出来,从而造成了数据冗余,而这里进行了条件约束后,相当于除了你所想要查询的条件后,在给它加了一层约束,也是为了防止数据冗余,我认为就是这样的

查看完整回答
反对 回复 2017-06-13
?
精慕门9254224

TA贡献167条经验 获得超46个赞

这是笛卡尔积自连接

查看完整回答
反对 回复 2017-06-10
  • 3 回答
  • 0 关注
  • 1305 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信