ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySql基础查询-流程控制函数

2021-04-01 15:01:10  阅读:175  来源: 互联网

标签:salary last name 流程 WHEN 查询 MySql employees SELECT


#流程控制函数
#if函数

SELECT
    last_name,
    commission_pct,
IF
    ( commission_pct IS NULL, '没奖金,呵呵', '有奖金,嘻嘻' ) 
FROM
    employees

#case函数
#查询员工工资,要求如果部门号=30,工资为1.1倍,如果部门号=40,工资为1.2倍,其他部门号工资为原工资

SELECT salary AS '原工资',department_id,
CASE department_id
    WHEN 30 THEN
        salary*1.1
    WHEN 40 THEN
      salary*1.2
    ELSE
        salary
END AS '新工资' FROM employees

#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 'AD_PRES'  THEN 'A'
WHEN 'ST_MAN'  THEN 'B'
WHEN 'IT_PROG'  THEN 'C'
WHEN 'SA_REP'  THEN 'D'
WHEN 'ST_CLERK'  THEN 'E'
END Grade
FROM employees;

#1. 显示系统时间(注:日期+时间)
SELECT NOW()
#2. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
SELECT employee_id,last_name,salary AS '原工资',salary*1.2 AS '新工资' FROM employees
#3. 将员工的姓名按首字母排序,并写出姓名的长度(length)
SELECT SUBSTR(last_name,1,1) AS '首字母',LENGTH(last_name) FROM employees ORDER BY 首字母 ASC
#4. 做一个查询,产生下面的结果
/
<last_name> earns <salary> monthly but wants <salary
3>
Dream Salary
King earns 24000 monthly but wants 72000

*/

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

标签:salary,last,name,流程,WHEN,查询,MySql,employees,SELECT
来源: https://blog.51cto.com/14049943/2679330

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有