Mysql习题系列(三):单行函数

案例数据 提取码:2rd5

#【题目】

# 1.显示系统时间(注:日期+时间)
# 2.查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
# 3.将员工的姓名按首字母排序,并写出姓名的长度(length)
# 4.查询员工id,last_name,salary,并作为一个列输出,别名为OUT_PUT
# 5.查询公司各员工工作的年数、工作的天数,并按工作年数的降序排序
# 6.查询员工姓名,hire_date , department_id,满足以下条件:雇用时间在1997年之后,department_id为80 或 90 或110, commission_pct不为空
# 7.查询公司中入职超过10000天的员工姓名、入职时间
# 8.做一个查询,产生下面的结果
#<last_name> earns <salary> monthly but wants <salary*3>
# 9.使用case-when,按照下面的条件:
/*job grade
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
*/

1.显示系统时间(注:日期+时间)

SELECT NOW();

2.查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)

SELECT employee_id, last_name, salary, salary*(1+0.2) 'new salary' 
FROM employees;

3.将员工的姓名按首字母排序,并写出姓名的长度(length)

SELECT LENGTH(last_name),last_name
FROM employees
ORDER BY last_name;#(默认升序)

4.查询员工id,last_name,salary,并作为一个列输出,别名为OUT_PUT

SELECT CONCAT(employee_id,',',last_name,',',salary) out_put
FROM employees;

5.查询公司各员工工作的年数、工作的天数,并按工作年数的降序排序

SELECT DATEDIFF(SYSDATE(),hire_date)/365 work_years,
DATEDIFF(SYSDATE(),hire_date) work_days
FROM employees
ORDER BY work_years DESC;

6.查询员工姓名,hire_date , department_id,满足以下条件:雇用时间在1997年之后,department_id为80 或 90 或110,commission_pct不为空

SELECT last_name, hire_date, department_id
FROM employees
WHERE hire_date > '1997-01-01' AND department_id IN(80,90,110)
AND commission_pct IS NOT NULL;

7.查询公司中入职超过10000天的员工姓名、入职时间

SELECT last_name, hire_date
FROM employees
WHERE DATEDIFF(NOW(),hire_date)>10000; 

8.做一个查询,产生下面的结果

#<last_name> earns monthly but wants <salary*3>

SELECT CONCAT(last_name, ' earns ',salary,' monthly but wants '
,salary*3) ' Dream Salary'
FROM employees;

9.使用case-when,按照下面的条件:

/*job grade
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
*/

SELECT last_name, job_id, CASE job_id
WHEN 'ST_MAN' THEN 'B'
WHEN 'IT_PROG' THEN 'C'
WHEN 'SA_REP' THEN 'D'
WHEN 'ST_CLERK' THEN 'E'
ELSE 'F'
END "grade"
FROM employees;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JOJO数据科学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值