oracle中的这两个语句有什么区别?

select * from tab;
select table_name from user_tables;

select * from tab;————查找某张表的全部内容。

select table_name from user_tables;————查看ORACLE 数据库中本用户下的所有表

这才是正确答案。

一个是查一个字符按,一个是查询所有的字段啊

查询显示的列不同,前者*代表查询表中的全部的列,后者只查询指定的某一列。而且二者的查询效率也不同,明显后者只查一列比较快 。

select * from tab;
select table_name from user_tables;
有区别的,*会慢点,一般你不指定列的话,*就得去找到表对应的所有的字段名,然后提取出来。并且是全部
但是你如果指定了列名的话,它就不用去查找字段。所以一般加列名是推荐的,不直接使用*,即使是要查找全部,那就写全部的列名

你是问tab和user_tables的区别吧,user_tables是本用户下的表,tab是为向后兼容的,已不推荐使用