Access使用join进行多个表联合查询的问题

Access是支持三表或三表以上的join查询的,但是要加括号,如果不加的话,会报错,括号的作用是决定join的顺序。例如:

SELECT *FROM (aa LEFT JOIN bb ON aa.a = bb.a ) LEFT JOIN cc ON cc.a = bb.a;

在SQL SERVER中,不加括号也可以,这是因为access使用的是JET-SQL,而SQL SERVER使用的是T-SQL,二者虽然都属于微软SQL语言分支,但是二者在语句上会有些区别。

还有一个问题需要注意是:在access使用join语句查询时,只有第一个join后on的条件中可以加多个条件,后面的只能有一个条件,如:

SELECT *FROM (aa LEFT JOIN bb ON aa.a = bb.a and aa.c=bb.c and bb.c=aa.a) LEFT JOIN cc ON cc.a = bb.a 这样就可以,

但是SELECT *FROM (aa LEFT JOIN bb ON aa.a = bb.a and aa.c=bb.c and bb.c=aa.a) LEFT JOIN cc ON cc.a = bb.a and aa.c=cc.c  就会提示:“不支持表达式”错误。

上一篇:js 判断一个文本框是否获得焦点


下一篇:14.8.1 Creating InnoDB Tables 创建InnoDB 表