MySQL-实践总结-

文章目录

    • 案例1
    • 案例2

案例1

已知信息
员工表 Employee

名称 类型 描述
EmployeeId Int 员工id(唯一)
Name Varchar(50) 员工姓名
Age Int 员工年龄
Email Varchar(50) 员工邮箱
Level Int 员工能级

工资表 salary

名称 类型 描述
SalaryId Int 工资id(唯一)
EmployeeId Int 员工id
Money Double 工资金额
Date Datetime 发放日期

题目及解答
查询偶有员工的姓名和邮箱,并按照年龄降序、姓名升序排序。

select Name,Email 
from Employee
order by Age desc,Name asc;

查询员工级别为1的所有员工的姓名及其对应的工资金额总和。

select e.Name,sum(s.Money) as sumMoney
from Employee e
inner join Salary s
on e.EmployeeId = s.EmployeeId
where e.Level = 1 
group by e.Name;

查询所有高于平均工资的工资发放信息以及对应的员工信息(发放日期、工资金额、员工id,员工姓名、员工年龄、员工邮箱、员工级别)

select s.Date,s.Money,s.EmployeeId,e.Name,e,Age,e.Email,e.Level
from Employee e
inner join Salary s
on e.EmployeeId = s.EmployeeId
where s.Money >(
select avg(Money)
from Salary
);

案例2

MySQL-实践总结-_第1张图片
备注
from后面 子查询; DATE_ADD函数
DATE_ADD(date,interval expr type) = 向日期添加指定的时间间隔。
date = 合法的日期表达式、exper参数希望添加的时间间隔
type = microsecond、second、minute、hour、day、week、month、quarter、year、second_microsecond、minute_microsecond等。

你可能感兴趣的:(MySQL,mysql,sql,数据库)