SQL多表联合查询教程与例子.doc
上传人:sy****28 上传时间:2024-09-11 格式:DOC 页数:2 大小:17KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

SQL多表联合查询教程与例子.doc

SQL多表联合查询教程与例子.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SQL多表联合查询(Access数据库表)2010-08-2515:48依据SQL语法,通过衔接运算符能够完成多个表查询。衔接能够在Select句子的FROM子句或Where子句中树立,在FROM子句中指出衔接时有助于将衔接操作与Where子句中的查找条件区别开来。SQL-92规范所界说的FROM子句的衔接语法格局为:FROMjoin_tablejoin_typejoin_table[ON(join_condition)]其间join_table指出参加衔接操作的表名,衔接能够对同一个表操作,也能够对多表操作,对同一个表操作的衔接又称做自衔接。join_type指出衔接类型,可分为三种:内衔接、外衔接和穿插衔接。内衔接(INNERJOIN)运用比拟运算符进行表间某(些)列数据的比拟操作,并列出这些表中与衔接条件相匹配的数据行。依据所运用的比拟方法不一样,内衔接又分为等值衔接、天然衔接和不等衔接三种。外衔接分为左外衔接(LEFTOUTERJOIN或LEFTJOIN)、右外衔接(RIGHTOUTERJOIN或RIGHTJOIN)和全外衔接(FULLOUTERJOIN或FULLJOIN)三种。与内衔接不一样的是,外衔接不只列出与衔接条件相匹配的行,而是列出左表(左外衔接时)、右表(右外衔接时)或两个表(全外衔接时)中所有契合查找条件的数据行。条件:假定已存在外部数据库,而且现已翻开包括a表、b表、c表三表的Mdb数据库。依据SQL语法规矩,写出如下代码:1.内查询(查询三个表中均存在的ID记载,任何一个表中不存在的id将均被过滤掉).版别2记载集句柄=外部数据库1.查询(“select*froma表innerjoinb表ona表.id=b表.idinnerjoinc表ona表.id=c表.id”)'+“where……”)'where条件暂时省掉2.外查询(leftjoin,列出左表中的悉数ID,不论b、c表中有无该ID).版别2记载集句柄=外部数据库1.查询(“select*froma表leftjoinb表ona表.id=b表.idleftjoinc表ona表.id=c表.id”)'+“where……”)'where条件暂时省掉可是运转成果均为查询失利,若是只是两个表,查询则成功,三个或三个以上的表就会失利。通过一天的捉摸,总算弄理解www.qiwentang.com了疑问缘由,疑问不在SQl,也不在易语言,而是没弄理解Access对SQL的撑持,将上述代码改为如下代码,疑问解决!.版别2记载集句柄=外部数据库1.查询(“select*from(a表innerjoinb表ona表.id=b表.id)innerjoinc表ona表.id=c表.id”)'+“where……”)'where条件暂时省掉.版别2记载集句柄=外部数据库1.查询(“select*from(a表leftjoinb表ona表.id=b表.id)leftjoinc表ona表.id=c表.id”)'+“where……”)'where条件暂时省掉若是有四张表,能够写为:.版别2记载集句柄=外部数据库1.查询(“select*from((a表innerjoinb表ona表.id=b表.id)innerjoinc表ona表.id=c表.id)innerjoind表ona表.id=d表.id”)'+“where……”)'where条件暂时省掉疑问很简单,想不到位则很头疼,为了众弟兄少走弯路,故尔拿出共享!是踩仍是顶,随我们心意!