sql中的左联多表 表之间顺序问题 5
sql中的左联问题,比如说我有一个主表A,然后有连个负表B,C。现在我对这三个表进行左联,fromAleftbon(省略)leftc和fromAleftcon(省略)le...
sql中的左联问题,比如说我有一个主表A,然后有连个负表B,C。现在我对这三个表进行左联,from A left b on(省略) left c 和 from A left c on(省略) left b,也就是顺序 ABC和ACB 这样抽出数据会不同么
我的前辈说 负表要让数据多的数据在前,比如B数据多,那么就ABC 是么 展开
我的前辈说 负表要让数据多的数据在前,比如B数据多,那么就ABC 是么 展开
4个回答
展开全部
把交叉表放在最末尾,然后最小表,最左边放最大的表
你A表应该是交叉表,然后每个表都count(*)看看总记录数,来确定行数多的表放左边
你A表应该是交叉表,然后每个表都count(*)看看总记录数,来确定行数多的表放左边
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单看你这种联接方式,都是一样的;
从效率角度讲,多表互联如果表小的话无所谓,表如果很大,建议对副表进行处理,select后排除不需要的列,用select * 跟选择你需要的两列是截然不同的,再就是添加where查询条件,再就是尽量用索引列,数字列(不要用not in语句,会导致索引失效)
从效率角度讲,多表互联如果表小的话无所谓,表如果很大,建议对副表进行处理,select后排除不需要的列,用select * 跟选择你需要的两列是截然不同的,再就是添加where查询条件,再就是尽量用索引列,数字列(不要用not in语句,会导致索引失效)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的 连接条件过滤以后,只要主表字段不为空,都会放入结果集,但是如果主表字段为空,副表有值,这一类也不会显示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询