这适用于任何RDBMS吗?
CREATE TABLE TBLA (MYKEY CHAR (10 ), FLDA CHAR (10 ));
CREATE TABLE TBLB (MYKEY CHAR (10 ), FLDB CHAR (10 ));
CREATE TABLE TBLC (MYKEY CHAR (10 ), FLDC CHAR (10 ));
查询:
select mykey, flda, fldb, fldc
from tbla
join tblb using (mykey)
join tblc using (mykey)
也许有明确的连接顺序?
select mykey, flda, fldb, fldc
from ((tbla
join tblb using (mykey))
join tblc using (mykey))
它似乎不适用于DB2 for IBM i 7.1 ...我得到一个SQL0203 - 名称MYKEY在第二个USING (MYKEY)
我想知道其他DBMS。
SQL Fiddler显示它可以与Oracle 11gR2和MySQL 5.6.6 m9一起使用......但不是MS SQL Server 2012;它显然不支持JOIN USING语法 http://sqlfiddle.com/#!4/ad8c0
很高兴得到这些数据库的实际用户以及任何其他人的确认信息。特别是DB2 for LUW。
答案 0 :(得分:0)
您应该为表使用别名。
select a.mykey, a.flda, b.fldb, c.fldc
from tbla a
join tblb b on a.mykey = b.mykey
join tblc c on b.mykey = c.mykey