今天去参加了一个学校的图书馆笔试,
考的全是数据库SQL语句和网络方面的基础题,但是发现,没有几题会做的相当郁闷。今天第一次知道写SQL语句,可以不用from table的。。
例如: 查询当前时间加上两个小时;
       查询从2005-5-1到现在的月数和天数
       
从来没这么写过SQL语句,我只会写select * from table...
SQL的一些基本函数都没用过,当然是灰溜溜的回来了。。我只知道创建索引是 CREATE INDEX index_name ON table_name (column_name) 这么来写,
但是在SQL PLUS里面始终执行不成功。。
纠结,下次一定要好好准备才行!

解决方案 »

  1.   

    oracle执行查询sql不可能不用from t啊?
      

  2.   


    那题目就是:查询当前时间,根本就没有什么表啊?为什么要写from table呢?
    今天在网上查了一下,有个getdate()函数,不过是在SQL SERVER下面执行的,ORACLE就不晓得了。。
    还望指教
      

  3.   

    select sysdate+2/24 from dual;select sysdate-to_date('20050501','yyyymmdd'),
    months_between(sysdate,to_date('20050501','yyyymmdd'))
    from dual;
      

  4.   

    嘿嘿,没让你搞什么dual表的插入删除不算BT的
      

  5.   


    从来没用过oracle
    马上去搜一下,dual表是什么东东。。呵呵。。还是应该多了解些才行。。
      

  6.   

    oracle select必须有from,考试的是SQL SERVER题目吧
      

  7.   

    看来我的数据库也有待提高。。wish lz
      

  8.   

    CREATE INDEX index_name ON table_name (column_name);如果表名准确,字段没有问题,这个语句可以正确执行啊!
      

  9.   


    字段,表名均没有问题,但是执行始终不成功,我不知道SQL PLUS里面是不是语法不一样?还是有什么特别的要求?
    附:执行的错误显示,我已经不记得了。。唉。。那天考的太昏了。。
      

  10.   

    CREATE INDEX index_name ON table_name (column_name);
    这字段看着没问题呀。
      

  11.   

    估计是以DBA登录,但是这个表是另一个用户的,所以建索引时找不到表
      

  12.   

    基础,看来非常重要的。一般只要你不面dba的话,考到数据库的东西应该都是很基础的。
      

  13.   

    是的,oracle必须要from ,MSSQL则可以不需要
    select convert(datetime ,'20100418',120);  --MSSQL
    select to_date('18-APR-2010','dd-mm-yyyy') from dual; --Oracle SQL
      

  14.   

    pl/sql快里执行DDL要用动态sql来执行否则会报错可以试试declare
      V_sql varchar2(3000);
    begin 
     N_sql:='CREATE INDEX index_name ON table_name (column_name)';
    execute immediate V_sql;
    end;
      

  15.   

    只看书,没有实践的话,就多来跑csdn吧
    多看看别人的sql,没用过的语句google或是baidu下
    会了解到很多自己不知道的东西
      

  16.   

    如果没有挑战,可以来CSDN帮忙解答问题,也可以看看别人怎么做的,可以获得很多实战经验哦;
      

  17.   

    查当前时间的话,select sysdate from dual,这里的dual不是真正的去查dual表,除非有rowid那才会去查真正的dual表
      

  18.   


    select floor(sysdate - to_date('20050501','yyyymmdd')) ,
    months_between(sysdate,to_date('2005-05-01','yyyy-mm-dd'))
    from dual;
      

  19.   

    还好,我比你强点,知道 from dual;不过我也得查查总结,看用哪个函数实现。
      

  20.   

    楼主dual不知道就去笔试,很强悍了.