以下测试请结合数据库 myemployees;
链接:点击
提取码:rhjw
怎么用这个数据库,最简单的就是在图形化工具比如Navicat里执行这个文件
1. 显示系统时间(日期+时间)
SELECT NOW();
2. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
SELECT employee_id,last_name,salary,salary*1.2 "new salary" FROM employees;
3. 将员工的姓名按首字母排序,并写出姓名的长度(length)
SELECT LENGTH(last_name) 长度,SUBSTR(last_name,1,1) 首字符,last_name FROM employees ORDER BY 首字符;
SUBSTR函数是用来截取数据库某一列字段中的一部分。
SBUSTR(str,pos); 从pos开始的位置,一直截取到最后。
SUBSTR(str,pos,len); 从pos开始的位置,截取len个字符(空白也算字符)。
4. 做一个查询,产生下面的结果
earns monthly but wants
Dream Salary
K_ing earns 24000 monthly but wants 72000
SELECT CONCAT(last_name,' earns ',salary,' monthly but wants ',salary*3) AS "Dream Salary" FROM employees WHERE salary=24000;
CONCAT函数用于将两个字符串连接起来,形成一个单一的字符串。
5. 使用case-when,按照下面的条件:
job grade
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
产生下面的结果
Last_name Job_id Grade
king AD_PRES A
SELECT last_name,job_id AS job, CASE job_id WHEN 'AD_PRES' THEN 'A' WHEN 'ST_MAN' THEN 'B' WHEN 'IT_PROG' THEN 'C' WHEN 'SA_PRE' THEN 'D' WHEN 'ST_CLERK' THEN 'E' END AS Grade FROM employees WHERE job_id = 'AD_PRES';