Access数据库多表连接查询

第一次在Access中写多表查询,就按照MS数据库中的写法,结果报语法错,原来Access的多表连接查询是不一样的

表A、B、C,A关联B,B关联C,均用ID键关联

一般写法:select * from A inner join B on A.ID=B.ID inner join C on B.ID=C.ID

此写法在Access中报错,Access对SQL语法理解方式不一样,它将两表连接后当作一个表然后再与第三个表连接,因此要改成

select * from (A inner join B on A.ID=B.ID ) inner join C on B.ID=C.ID

若出现第4张表D呢?

select * from ((A inner join B on A.ID=B.ID ) inner join C on B.ID=C.ID)  inner join D on C.ID=D.ID

……

可以理解为始终是两表间的操作

时间: 2024-12-09 17:47:23

Access数据库多表连接查询的相关文章

代码-linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下

问题描述 linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下 with temp as ( select (case when SHIFTSCHEDULEID is null then (case when TICKET_SELL_TYPE=2 then (select COMPANY_ID from TBL_YD_SHIFT where SHIFTNUMBER= (select SHIFTNUMBER from TBL_SP_TICKET where tick

javaee-java菜鸟请问下,两个数据表连接查询问题

问题描述 java菜鸟请问下,两个数据表连接查询问题 hql="select t.id,t.name,p.lname,t.beizhu,t.human,t.city,t.lrr,t.lrtime,t.modtime,t.address from CrmCustomer t, CrmCustomerLxr p where t.tend='已成单' and p.lname like '%" + lname + "%' and t.id=p.customerid "; S

多对多关系多表连接查询,同一个字段同时满足多个条件

问题描述 分类表t_keytype商品表t_product分类商品关联表t_typeproducttid(分类ID)name(分类名称)pid(商品ID)name(商品名称)idpid(商品ID)tid(分类ID)1分类11商品11112分类22商品2212321422现在要表连接查询,根据分类ID字段同时满足多个条件的商品"(分类id=1and分类id=2)"查询是同一个字段多个and,请问改怎么写,尽量不要子查询因为数据量比较大,在此谢谢各位啦! 解决方案 解决方案二:网了发图,如

android使用ormLite,多表连接查询

问题描述 android使用ormLite,多表连接查询 解决方案

VC++:选择组合框中的条件实现对access数据库文件的自动查询并显示到编辑框中

问题描述 VC++:选择组合框中的条件实现对access数据库文件的自动查询并显示到编辑框中 请教下大家:如标题 当鼠标选择组合框下拉列表中的条件时,自动根据下拉框条件查询ACCES数据库中的数据,并将查询的结果显示到编辑框中去,谢谢! 解决方案 http://blog.csdn.net/wenluderen/article/details/39029649 解决方案二: http://blog.csdn.net/yunqi415/article/details/6963720

9. 多表连接查询

        多表查询可理解为一个嵌套循环遍历. 多表连接查询有两种规范,较早的SQL92规范支持: 等值连接:连接条件要求两列值相等 非等值连接 广义笛卡尔积:没有任何连接条件(n*m条记录) 外连接 [MySQL 不支持 92规范的外连接]         外连接就是在外连接符所在的表中增加一个"万能行",这行记录的所有数据都是null,而且该行可以与另一个表中所有不满足条件的记录匹配.即可以把另一表中的所有记录选出来,不管是否满足条件. SQL99规范:提供可读性更好的多表连接

在C#中自己写程序代码合并两个ACCESS数据库,如表a1.姓名插入a2.姓名里,我是这样写的,可就是不对

问题描述 在C#中自己写程序代码合并两个ACCESS数据库,如表a1.姓名插入a2.姓名里,我是这样写的,可就是不对if(this.openFileDialog1.ShowDialog()==DialogResult.OK){this.textBox2.Text=openFileDialog1.FileName.ToString();}try{if(textBox2.Text!=null){stringlink_tex0="Provider=Microsoft.Jet.OLEDB.4.0;Dat

oracle两表连接查询问题

问题描述 oracle两表连接查询问题 有两张表,一张是个人信息表包括考生姓名,年龄,性别等一系列个人信息和一些其他信息: 第二张表是成绩表,其中也包括部分考生信息和分数: 现在想要在打开成绩表的时候,个人信息字段就已经对应上第一张表了,不需要自己填写, 这个应该怎么实现,代码应该怎么写? 解决方案 http://zhidao.baidu.com/link?url=Rb77btoUtGFpnDID8qotZfN3TTQcPVhzseA4ecOHNZLznZB3bx89MUzJSOR29sNpFM

MySQL中基本的多表连接查询教程_Mysql

一.多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:         由于其返回的结果为被连接的两个数据表的乘积,因此当有WHERE, ON或USING条件的时候一般不建议使用,因为当数据表项目太多的时候,会非常慢.一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN  2.   内连接INNER JOIN 在MySQL中把I SELECT * FROM table1 CROSS J