MySQL-实践总结-

文章目录

案例1

已知信息
员工表 Employee

名称类型描述
EmployeeIdInt员工id(唯一)
NameVarchar(50)员工姓名
AgeInt员工年龄
EmailVarchar(50)员工邮箱
LevelInt员工能级

工资表 salary

名称类型描述
SalaryIdInt工资id(唯一)
EmployeeIdInt员工id
MoneyDouble工资金额
DateDatetime发放日期

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

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

在这里插入图片描述
备注
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等。


版权声明:本文为LXMXHJ原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。