java面试题网

普通会员

15

帖子

1

回复

33

积分

楼主
发表于 2018-06-06 17:51:55 | 查看: 718| 回复: 0

题目:

1. 获取字符串前5个字符的命令是什么?

2. 在模式匹配的条件查询中应使用哪个运算符?

3. 在emp表中找到第三高工资。

4. 在emp表中找到第三低工资。

5. 查询出没有员工的所有部门。

6. 假设EMP表有提供的年薪信息annualSalary,如何获取每个员工的月工资?

7. 从emp表,查询ename以'S'开头的记录,其长度为6个字符。

8. 如何检索emp1的所有记录,不应该出现在emp2?

9. emp表中num字段中具有一些负值和一些正值,需要在两个单独的列中计算负数的和和正数的和。

10. 查询时,当UNION和UNION ALL 都可以时,使用哪个更优?


答案:

1. Select SUBSTRING(StudentName,1,5) as studentname from student;

Select LEFT(Studentname,5) as studentname from student;

2. 使用'LIKE'运算符进行模式匹配, 包含两个通配符:

'%' – 匹配零或多个字符。

'_' - 只匹配一个字符。

e.g.

Select * from Student where studentname like 's%'

Select * from Student where studentname like 'sa_'

3. select distinct sal from emp e1 where 3 =

(select count(distinct sal) from emp e2 where e1.sal <= e2.sal);

4. select distinct sal from emp e1 where 3 =

(select count(distinct sal) from emp e2where e1.sal >= e2.sal);

5. select * from dept where deptno not in (select deptno from emp);

6. select ename,annualSalary/12 as monthlysal from emp;

7. select * from emp where ename like'S_____';

8. (Select * from emp)

Minus

(Select * from emp1)

9. SELECT SUM(CASE WHEN num < 0 THEN num ELSE 0 END) neg,

SUM(CASE WHEN num > 0 THEN num ELSE 0 END)pos FROM emp;

10. 尽量使用UNION ALL,UNION会多一步当作:union = union all + distanct



您需要登录后才可以回帖 登录 | 立即注册

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