java面试题网

普通会员

15

帖子

1

回复

33

积分

楼主
发表于 2018-06-06 17:53:42 | 查看: 547| 回复: 0

题目:

  1. 给一个格式为“NN / NN”的字符串,验证第一个和最后两个字符是数字,中间字符是'/'。 打印表达式“NUMBER”(如果有效),“NOT NUM”(如果无效)。 使用以下值测试解决方案:'12 / 34','01 / 1a','99 / 98'。

  2. 查询T1表中amount字段,不使用‘order by’和‘max’关键字,找出amout的最大值。

  3. 交换字段的值。TblEmployee表中EmpName字段,包含了记录:A,B,A,A,B,C,B,C,A。请编写查询语句,交换A与B的值,A变成B,B变成A。

  4. 获得第N个最大值。 TblEmployee表,其中包含EmployeeName和Salary字段。 找到第三大的工资。

  5. 索引的作用?和它的优点缺点是什么?

  6. 每个组的前N名。students表具有列StudentId,Marks,Standard的学生。 找到每个标准的前三名学生。

  7. 使用Sql进行卷影复制。编写查询以创建现有表的克隆,而无需使用创建命令(不需要复制数据)。

  8. 从表employee中获取名称(firstName)“John”中“o”的位置。

  9. 什么是存储过程?用什么来调用?

  10. TRUNCATE TABLE 与 DELETE TABLE 的区别?

答案:

  1. SELECT

    CASE WHEN ascii(substr('99/98',1,1)) BETWEEN 48 AND 57

    AND ascii(substr('99/98',2,1)) BETWEEN 48 AND 57

    AND substr('99/98',3,1) ='/'

    AND ascii(substr('99/98',4,1)) BETWEEN 48 AND 57

    AND ascii(substr('99/98',5,1)) BETWEEN 48 AND 57

    THEN 'number' ELSE 'not num'

    END FROM dual;

  2. 解法1:

    Declare @MaxValue int

    Select @MaxValue = (case when @MaxValue>Amount then

    @MaxValue else Amount end)

    From T1 Select @Maxvalue

    解法2:

    Declare @MaxValue int

    Select @MaxValue = Amount From T1 Group by Amount

    Select @MaxValue

    解法3:

    SELECT T11.Id,T11.Amount as MaxAmount

    FROM T1 AS T11 left outER JOIN

    T1 AS T12 ON T11.Amount < T12.Amount

    GROUP BY T11.Amount, T11.Id

    having COUNT(T12.Amount)=0

  3. Update TblEmployee

    Set EmpName = (CASE WHEN EmpName='A' THEN 'B'

    WHEN EmpName='B' THEN 'A' ELSE EmpName END)

  4. 解法1:

    Select min(Salary) from

    (Select top 3 Salary From TblEmployee order by Salary desc) TempEmployee

    解法2:

    Select Top 1 EmployeeName,Salary from

    (Select Top 3 EmployeeName,Salary From TblEmployee order by Salary desc)

    TblTempEmployee order by Salary

  5. 索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

  6. select * from (

    select *, ROW_NUMBER() over(partition by Standard order by Marks desc) as Rank

    from #students) as tmp

    where Rank <= 3

  7. select top 0 * into NewTable From ExistingTable;

  8. Select CHARINDEX('o',firstName,0) from employee where firstName = 'John'

  9. 存储过程是一个预编译的 SQL 语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次 SQL ,使用存储过程比单纯 SQL 语句执行要快。可以用一个命令对象来调用存储过程。

  10. DELETE:

    DML语言

    可以回退

    可以有条件的删除

    DELETE FROM 表名

    WHERE 条件

    TRUNCATE TABLE:

    DDL语言

    无法回退

    默认所有的表内容都删除,删除速度比delete快

    TRUNCATE TABLE 表名



您的帖子在2018-06-06 17:54:20被叫一声你敢答应吗编辑
您的帖子在2018-06-06 18:12:46被叫一声你敢答应吗编辑
您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018