2018.12.25课上练习
1.写一个查询,用首字母大写,其它字母小写显示雇员的 ename,显示名字的长度,并给每列一个适当的标签,条件是满足所有雇员名字的开始字母是J、A 或 M 的雇员,并对查询结果按雇员的ename升序排序。(提示:使用length、substr)
select concat(upper(SUBSTR(ename,1,1)),lower(SUBSTR(ename,2))) ename,CHAR_LENGTH(ename)
from emp
where SUBSTR(ename,1,1) in ('J','A','M')
order by ename
2.查询员工姓名中中包含大写或小写字母A的员工姓名。
select ename
from emp
where instr(ename,'A') >0 || instr(ename,'a') >0
3.显示所有员工的姓名,用a替换所有"A"
select replace(ename,'A','a') ename
from emp
4.查询部门编号为10或20,入职日期在81年5月1日之后,并且姓名中包含大写字母A的员工姓名,员工姓名长度
select ename,char_length(ename)
from emp
where deptno in(10,20) and hiredate > '1981-05-01'
and instr(ename,'A') > 0
5.查询每个职工的编号,姓名,工资
要求将查询到的数据按照一定的格式合并成一个字符串.
前10位:编号,不足部分用填充,左对齐
中间10位:姓名,不足部分用填充,左对齐
后10位:工资,不足部分用*填充,右对齐
select concat(rpad(empno,10,'*'),rpad(ename,10,'*'),lpad(SAL,10,'*'))
from emp