从oracle数据字典中选择一个表

从oracle数据字典中选择一个表,oracle,oracle11g,Oracle,Oracle11g,我是SQL新手,最近安装了Oracle 11g。我读了关于从user\u tables中选择所有表的帖子。我正在尝试选择一个特定的表,但按照帖子中的一些建议似乎不起作用 下面的命令执行得很好,并返回我可用的所有表,包括名为faculty\t的表: select * from user_tables; select * from dba_tables; select * from all_tables; desc faculty_t; 但当我执行以下操作时,会出现错误: select * fro

我是SQL新手,最近安装了Oracle 11g。我读了关于从
user\u tables
中选择所有表的帖子。我正在尝试选择一个特定的表,但按照帖子中的一些建议似乎不起作用

下面的命令执行得很好,并返回我可用的所有表,包括名为
faculty\t
的表:

select * from user_tables;
select * from dba_tables;
select * from all_tables;
desc faculty_t;
但当我执行以下操作时,会出现错误:

select * from user_tables where table_name = FACULTY_T;
第一组语句确认我确实有一个名为
faculty\u t
的表。但是,尝试从
user\u tables
all\u tables
dba\u tables
中选择此表目前似乎对我不起作用。错误消息的内容如下:

ORA-00904: "FACULTY_T": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error at Line: 208 Column: 8

有什么想法吗?谢谢

SQL中的字符串文本被包装在
中。因此:

select * from user_tables where table_name = 'FACULTY_T';

当您执行
desc\t
时,SQL引擎知道该位置需要一个表名(语法需要一个表名)。但是在select查询中,sql只是查找恰好具有字符串数据类型的列的值,因此您需要使用
作为字符串文本。

可能是因为sql区分大小写??尝试教职员工而不是教职员工这是我尝试的第一件事。正如您从错误消息本身所看到的,oracle似乎以教员身份阅读了它。第一条语句对您有用吗?“从用户表格中选择教员;”请阅读“表格名称在Oracle中以大写形式存储”一章。我忽略了这一细微差别。它使用大写字母,并用引号括起来!