4、SQL练习(31-42)

厨子大约 2 分钟

注:该页题目均来自与牛客网open in new window

  1. 请将表titles_test重命名为titles_2017。

  2. 请为audit表添加外键,使emp_no字段关联到employees_test表的id字段。

  3. 请更新薪资表,将emp_bonus表中存在的员工且to_date为'9999-01-01'的薪资提高10%。

  4. 请编写SQL计算字符串"10,A,B"中逗号的数量。

  5. 请按字符串的右边两个字符对员工的first_name进行排序。

  6. 请使用group_concat函数将同一部门的员工emp_no按降序拼接,使用下划线"_"作为分隔符。

  7. 请使用exists关键字查询所有未分配部门的员工信息。

  8. 请使用case when语句计算员工奖金,根据emp_bonus表的btype字段:

  • btype为1时,奖金为薪资的10%
  • btype为2时,奖金为薪资的20%
  • btype为3时,奖金为薪资的30%

请查询员工的emp_no、first_name、last_name、btype、salary和计算后的bonus。

  1. 请计算牛客网用户次日留存率,即首次登录后第二天继续登录的用户占比,结果保留3位小数。

表说明:

  • login表:用户登录记录表,包含user_id和date字段
  1. 请使用子查询计算每个员工的累计薪资总和,即计算emp_no小于等于当前员工的所有员工薪资之和(to_date为'9999-01-01')。

  2. 请统计每个日期的新用户数量,即每个日期首次登录的用户数。

表说明:

  • login表:用户登录记录表,包含user_id和date字段
  1. 请查询每个成绩等级的最差排名,即计算每个等级的学生人数累计和。

表说明:

  • class_grade表:成绩表,包含grade(等级)和number(人数)字段