1 没有where条件的update语句不会被执行?会执行但不产生改变任何数据?2 说明删除表时 drop delete truncate的不同效果3 union 和 union all 的区别 考虑到效率推荐用哪个?4 sql输出这个字符串“abcd一个字符串”的长度 写出这个语句 结果是多少?5 检索时if exists() 和 IN 哪个效率高?为什么?6 Employee表 字段 salary birthday
查出大于平均工资的员工姓名
查出生日是同一天的员工姓名7 A表的a字段类型为int 默认值为10 将这个默认值改为12 写出sql语句
A表的b字段类型为int c字段类型为varchar2 写出sql语句 如果b大于20小于30 则将c的值改为“oracle”8 列举索引不起作用的几种情况

解决方案 »

  1.   

    1错
    2REDO
    3union滤去重复的,union all效率高点
    4 select length('abcd一个字符串') from dual  结果9
    5大部分情况是exists效率高点,不是绝对的
      

  2.   

    1.会执行,整个表都成了一条记录
    2.首先drop语句是用来删除表用的,具体语法为:drop table,当然这种删除是删除的整个表,而且是不能恢复的。
    Delete语句是用来删除记录的,语法为delete table,大家都明白记录和表有什么区别吧!用这种语句删除,表会依然存在
    Truncate语句也是用来删除表中的所有数据的,语法为:truncate table,这条语句和容易和delete语句混淆,但是使用这条语句来删除数据的话,是不能恢复的,而使用delete语句删除表中的记录的话,我们还可以恢复表。
    3.Union all
    4. 9
    5.认为是if exists() 
      

  3.   

    6 7 两题写sql语句 各位也帮忙写写
    第8题 我自己查。
      

  4.   

    1: 会执行,全部更新
    2: drop 删除表, delete 和 truncate 是删除表纪录,但是truncate分区表上的全局索引会使索引失效,但truncate速度快一些.
    3: union 会合并重复的纪录,union all 不会. union效率高。
    4: select length('abcd一个字符串') from dual;   9
    5: 如果外表和内表的记录数相差很大, IN 的效率会高些. 因为in 是把外表和那表作hash join,而exists是对外表作loop,每次loop再对那表进行查询。6: 1>:select *
      from Employee
     where Employee.salary > (select avg(Employee.salary) from Employee);
     
    2>:select *
      from Employee E1
     where exists (select 1
              from Employee E2
             where E1.birthday = E2.birthday
               and E1.Employee_id <> E2.Employee_id);
    7: 1>: ALTER TABLE A MODIFY(A int default 12);2>: update A
           set A.c = 'oracle'
         where A.b > 20 and A.b < 30;
    8: 相关表记录数不多;truncate分区表上的全局索引的情况;不正确的查询条件 etc ..
      

  5.   

    某软件公司的,还考了j2se j2ee的。
    union all 和 union 哪个效率高? 现在答案是2比1
      

  6.   

    用UNION-ALL 替换UNION ( 如果有可能的话) 
    当SQL语句需要UNION两个查询结果集合时,这两个结果集合会以UNION-ALL的方式被合并, 然后在输出最终结果前进行排序. 如果用UNION ALL替代UNION, 这样排序就不是必要了. 效率就会因此得到提高.
      

  7.   

    对的,union是先做遍union all再做个distinct,效率肯定不如union all
      

  8.   

    union all效率高union会剔除一些重复记录
      

  9.   

    UNION ALL 比 UNION 效率高,因为UNION 会排序去重复纪录,需更多的操作。
      

  10.   

    Delete语句是用来删除记录的
    会执行,整个表都成了一条记录