SQL where筛选条件问题

TheBigBangWOW 2016-03-10 10:57:54
下图题目中,有个地方不是很理解,
就是where 的条件,为什么后面还要加一个 住宿.身份证号=客户.身份证号?
我觉得这个条件没有必要,因为住宿.身份证号里面出现的身份证号必定是客户关系表里面的,所以这个判断没有必要,有没有结果都是一样的,
不知道我这样理解对不对,
谢谢了








...全文
354 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Prophet_T 2016-03-16
  • 打赏
  • 举报
回复
引用 3 楼 TheBigBangWOW的回复:
[quote=引用 1 楼 zys59 的回复:] 那是多表查询的连接条件
谢谢,如果这个是多表查询的话,那为什么这里需要用到多表查询,一个表就能实现的功能,为什么需要连接到另一个表进行实现?这里是不是有什么特别的原因,或者在实际工作中的某些情况下需要这样做?以达到某一种目的? 谢谢[/quote] 可以,连接两张表,用连接条件连接可以取出客户表中其他字段。。。
TheBigBangWOW 2016-03-15
  • 打赏
  • 举报
回复
引用 5 楼 zys59 的回复:
使用多表主要是为了控制数据冗余,这个跟数据库设计有关,楼主可以去找一找数据库设计范式方面的资料看看。
好的,谢谢
三仙半 2016-03-14
  • 打赏
  • 举报
回复
使用多表主要是为了控制数据冗余,这个跟数据库设计有关,楼主可以去找一找数据库设计范式方面的资料看看。
TheBigBangWOW 2016-03-13
  • 打赏
  • 举报
回复
引用 2 楼 like987654 的回复:
这个条件是需要的,应为前面是在住宿和客人两张表中查询的,如果不要这个条件,就会出现查询出的数据变多有脏数据。如果按照你填写的原本只在住宿表中就可以实现上面的需求,但是后面的sql语句又是在两张表中查询,所以那个条件是需要加上的。
谢谢, 我的理解是,按照你的回答,加这个连接查询的目的是为了避免脏数据,但是避免脏数据不是采用类似进程锁的方式吗?为什么连接查询可以有避免读脏数据的效果?是怎么实现了? 谢谢了
TheBigBangWOW 2016-03-13
  • 打赏
  • 举报
回复
引用 1 楼 zys59 的回复:
那是多表查询的连接条件
谢谢,如果这个是多表查询的话,那为什么这里需要用到多表查询,一个表就能实现的功能,为什么需要连接到另一个表进行实现?这里是不是有什么特别的原因,或者在实际工作中的某些情况下需要这样做?以达到某一种目的? 谢谢
三仙半 2016-03-11
  • 打赏
  • 举报
回复
那是多表查询的连接条件
like987654 2016-03-11
  • 打赏
  • 举报
回复
这个条件是需要的,应为前面是在住宿和客人两张表中查询的,如果不要这个条件,就会出现查询出的数据变多有脏数据。如果按照你填写的原本只在住宿表中就可以实现上面的需求,但是后面的sql语句又是在两张表中查询,所以那个条件是需要加上的。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧