当查询Derby数据库时,我发现对于某些表,我必须双引号列名并使用表名来限定列名,但是对于其他一些我不需要的表。这些表会发生什么,如何使所有表都相同,并且可以在没有双引号和表名限定符的情况下查询它们?我正在使用NetBeans IDE的Sql Command工具。以下是那些不同的查询。
Set schema app;
Select * from table1 where table1.”state” = ‘CA’;
Select * from table2 where state = ‘CA’;
答案 0 :(得分:3)
将一个表名或列名放在引号中,有时用术语-y术语"分隔标识符"做两件事:
所以,如果你最初创建" table3"使用CREATE TABLE语句指定" table3"在这样的双引号中,那么你将永远用必须用双引号引用它的名字。
select * from table3
将由数据库自动处理,就像它是
一样 select * from TABLE3
,而
select * from "table3"
将成功匹配您创建的表create table "table3"
请参阅:http://db.apache.org/derby/docs/10.9/ref/crefsqlj34834.html