使用SQL INNER JOIN有什么不好的

每次查看数据库图表时,人们批评的一个领域是内部联接.他们很难看待它们,并且有一些问题要看内部连接是否确实需要存在.

简单库示例:

通常在sql中使用三个表定义多对多关系:Book,Category,BookCategory.

在这种情况下,Category是一个包含两列的表:ID,CategoryName.

在这种情况下,我对Category表有疑问,是否需要?它可以用作查找表,并且在BookCategory表中存储CategoryName而不是CategoryID,以阻止必须执行额外的INNER JOIN. (对于这个问题,我们将忽略更改,删除任何CategoryNames)

问题是,内连接有什么坏处?在什么时候做一个负面的事情(一般指导如交易#,记录数,声明中的连接数等)?

解决方法

你的例子是一个很好的反例.如果它们分布在BookCategory表的各个行中,您如何重命名类别?您进行重命名的UPDATE将触及同一类别中的所有行.

使用单独的表,您只需更新一行.没有重复的信息.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...