设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 7646|回复: 11
打印 上一主题 下一主题

[查询] “我和老汉不得不说的事”——浅谈内联接删除查询

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-6 19:58:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       大约十几年前,一本名为《我和×××不得不说的事》畅销全国。无论怎么说,这些“不得不说”的事,让而当时已淡出娱乐圈的×××,再次成为大家争议的焦点,成为茶余饭后的谈资。后来,这些行为有了一个新名词——“炒作”。再后来,这些人更是成了一个党派——“标题党”。
       写到这里,似乎已经在宣告Roy俨然已经入党了。
       和老汉不得不说的事,是发生在去年的。那时候版友sxgaobo写了一个内联接删除查询语句,但是执行时出错(应该是出现了下面的提示):
        
       当时,Roy写了一个子查询例子并上传,还沾沾自喜了好一会儿。没想到老汉一板砖拍过来,“哪有那么复杂?”,祭出了一个Dlookup法宝,愣是把Roy吓得目瞪口呆。这还不算什么,最后老汉干脆把毛主席“宜将剩勇追穷寇”的精神贯彻到底,写了内联接查询,再次把Roy拍得天旋地转,立时七荤八素。Roy一时间无地自容,准备去灌水区投水自尽,无奈水太浅,而且Roy还会潜水,于是决定每天卧床尝帖子(卧薪尝胆太老套了,不如来点创意,是不是?)(详见《请教sql语句,错哪了?》)。
       时隔一年才发现,老汉和ZYP所以为的DELETE不能针对两个及以上的表进行并非真理。于是翻出旧账,成就了此文。
       以上故事,纯属虚构,如有雷同,实属巧合。其实,这里没有和老汉叫板的意思,只是标题党嘛,你懂的……
       事实上,真正的症结在于两个表之间并没有建立确定的关系(两个表之间的多对多关系,当然是不算的)。也就是说,索引的建立才是关键(详细看附件)。
       附件中有多个删除查询,主要用于做对比(可展开SQL视图做参考),并和大家一起探讨而已。从执行效率上来讲,内联接删除查询较优,而子查询删除则更适于用在SQL Sever。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2011-12-6 20:26:51 | 只看该作者
一年前老汉一砖板,Roy现在才定过神,呵呵
支持真理探讨!
3#
发表于 2011-12-6 22:33:45 | 只看该作者
2个表记录要一并删除的肯定有联系,多对多可转一对多,用级联删除就好了
至于根据一表条件删除一对一的另一表记录,其实是表设计复杂化,就用一表就好,原来要删的表对应字段就更改为null,实是update
至于根据主表条件删除一对多的子表记录,看来在Access用联接表条件解决效率高,但用子查询是sql正统.只不过access的子查询好像都很不行.

点击这里给我发消息

4#
发表于 2011-12-6 23:18:15 | 只看该作者
和老汉故事很生动啊!期待续集!
5#
发表于 2011-12-7 08:22:42 | 只看该作者
哈!老汉老师要挨板砖了{:soso_e113:}

点击这里给我发消息

6#
发表于 2011-12-7 09:30:18 | 只看该作者
我还是先闪一边,免得被板砖误砸。{:soso_e133:}
7#
发表于 2011-12-7 17:16:12 | 只看该作者
不错,学习!
8#
发表于 2012-1-29 13:27:21 | 只看该作者
总结得真好
9#
发表于 2012-1-30 19:21:13 | 只看该作者
不至于吧?
10#
发表于 2015-8-3 21:49:31 | 只看该作者
学习了。新手学习东东真麻烦啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-27 15:37 , Processed in 0.105198 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表