0
Q
连接操作的主键?
A
回答
0
使用主键进行良好的数据库设计可能是一个争论。按照RDBMS指南的经典,建议为良好的数据库设计创建主键。但现在有一天不会对数据库方面施加太多限制来提高性能,而是对业务层进行验证(不确定主键是否也是如此)。
现在想到您的问题, 主键对于连接操作不是必需的,但是必须使用唯一标识主表记录的列,否则它可能会生成虚假记录。
部门
| dept| sub_dept | dsc |
| CS | CS | Computer sc.|
| CS | IT | Info Tech. |
学生
| Name | age | sex | dept | sub_dept|
| abcd | 025 | M | CS | CS |
| wxyz | 023 | M | CS | IT |
现在,如果你加入的sub_dept表,你会得到正确的结果。
select s.name, s.age, s.sex, d.dsc from student s, department d where
s.sub_dept = d.sub_dept
| Name | age | sex | dsc |
| abcd | 025 | M | Computer Sc. |
| wxyz | 023 | M | Computer Sc. |
如果你加入的dept列的表,你会得到虚假的元组(2个额外的行)
select s.name, s.age, s.sex, d.dsc from student s, department d where s.dept = d.dept
| Name | age | sex | dsc |
| abcd | 025 | M | Computer Sc. |
| wxyz | 023 | M | Computer Sc. |
| abcd | 025 | M | Info Tech. |
| wxyz | 023 | M | Computer Sc. |
相关问题
- 1. ETL操作 - 返回主键
- 2. SQL:连接主键上的表并返回主键
- 3. 没有主键的连接表
- 4. 如何指定连接表的主键
- 5. 如何创建连接的主键?
- 6. 有多个主键的连接表
- 7. 创建没有主键的连接表
- 8. 连接具有相同主键的表
- 9. 不同操作系统中的本地主机连接
- 10. 的ssh:连接到主机X.X.X.X端口22:操作超时
- 11. 简单的SQL操作 - 连接两个具有相同列且没有主键/外键的表
- 12. Redux连接异步操作
- 13. 连接查询与操作
- 14. 将void连接到操作?
- 15. 关于多个关键事件的MySQL连接操作
- 16. CakePHP的:连接操作不工作
- 17. 不工作的连接操作
- 18. 将str连接到用作主键的自动增量列
- 19. 此操作需要连接到'主'数据库
- 20. 使用ssh连接到远程主机后执行unix操作
- 21. SmtpException - 连接被远程主机强制关闭。 /操作超时
- 22. 套接字操作尝试一个无法连接的主机windows CE的
- 23. 内部连接2个主键
- 24. SQL在主键上连接行值
- 25. 无法连接表,ID_Dosen,ID_Dosen(主键)
- 26. 连接形式通过PHP和主键
- 27. 如何更改主键和连接的外键的列类型?
- 28. 休眠一对一连接使用主键不工作
- 29. Apple Automator发出“无法连接操作”错误的AppleScript操作
- 30. MATLAB:SQL风格的连接操作