張徳帥 2023-07-03 17:55 采纳率: 0%
浏览 10

SQL优化问题:判断数据条件是否符合金额正常

img


#需求:判断数据条件是否符合金额正常
#瓶颈:两张表数据量都比较大,关联查询的话 查询效率很低

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-03 20:24
    关注
    • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/928932
    • 这篇博客也不错, 你可以看下SQL把小写的金额转换成大写的金额函数
    • 除此之外, 这篇博客: SQL作业中的 7.查询所有有奖金的元哦给你信息 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • SELECT *
      FROM emp
      WHERE comm IS NOT NULL;
      +-------+--------+----------+------+------------+---------+---------+--------+
      | EMPNO | ENAME  | JOB      | MGR  | HIREDATE   | SAL     | COMM    | DEPTNO |
      +-------+--------+----------+------+------------+---------+---------+--------+
      |  7499 | ALLEN  | SALESMAN | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30 |
      |  7521 | WARD   | SALESMAN | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30 |
      |  7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30 |
      |  7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500.00 |    0.00 |     30 |
      +-------+--------+----------+------+------------+---------+---------+--------+
      
    • 您还可以看一下 董旭阳老师的SQL入门教程课程中的 增加数据小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      问题: 如何使用SQL查询来判断数据中的金额是否符合正常范围?

      根据给定的参考资料,可以利用SQL的case when语句进行判断。根据奖金类型btype的不同,计算奖金金额bonus,并与薪水salary进行比较。

      其中,奖金类型为1时,奖金为薪水salary的10%;奖金类型为2时,奖金为薪水salary的20%;其他类型的奖金为薪水salary的30%。

      具体的查询语句如下:

      SELECT eb.emp_no, e.first_name, e.last_name, eb.btype, s.salary,
        (CASE eb.btype
          WHEN 1 THEN s.salary*0.1
          WHEN 2 THEN s.salary*0.2
          ELSE s.salary*0.3
        END) AS bonus
      FROM emp_bonus AS eb
      JOIN employees AS e
        ON eb.emp_no = e.emp_no
      JOIN salaries AS s
        ON eb.emp_no = s.emp_no
      WHERE s.to_date = '9999-01-01';
      

      以上查询语句将会返回符合条件的数据,其中包括员工号(emp_no)、员工姓名(first_name和last_name)、奖金类型(btype)、当前薪水(salary)以及计算得出的奖金金额(bonus)。

      这样,我们就可以根据查询结果判断数据中的金额是否符合正常范围。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月3日

悬赏问题

  • ¥15 软件定义网络mininet和onos控制器问题
  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。