Sql-每日一练01
建表语句和插入数据
CREATE TABLE hot_work2 (
id INTEGER NOT NULL AUTO_INCREMENT,
job_name VARCHAR(255) NOT NULL,
job_salary DECIMAL(15, 2) NOT NULL,
city VARCHAR(255),
PRIMARY KEY (id)
)
insert into hot_work2 (job_name,job_salary,city) values('java开发',7000.00,'宿州'),('python开发',2000.00,'上海'),('python开发',5000.30,'南京'),('前端开发',3000.00,'南京'),('前端开发',7500.00,'上海'),('前端开发',4000.00,'南京'),('前端开发',7800.00,'上海'),('前端开发',5000.00,'南京'),('前端开发',5000.00,'南京'),('python开发',17000.00,'宿州'),('python开发',5000.00,'上海'),('python开发',4000.00,'南京'),('python开发',7000.00,'上海'),('python开发',2000.0,'南京'),('python开发',7020.00,'南京'),('java开发',7030.00,'宿州'),('java开发',1000.00,'上海'),('java开发',2000.00,'苏州'),('java开发',6000.00,'上海'),('java开发',4000.00,'宿州'),('java开发',8000.00,'南京'),('java开发',7000.00,'上海'),('java开发',7000,'苏州'),('java开发',14000.0,'南京'),('java开发',7000.00,'上海'),('java开发',4000.00,'苏州')
concat函数:是将两个字段的结果连在一起。
round函数:保留n位小数(四舍五入)。
- 需求1
获取每个工作岗位最高薪资、最低薪资、平均薪资
select job_name 工作岗位,max(job_salary) 最高薪资,min(job_salary) 最低薪资,avg(job_salary) 平均薪资
from hot_work2
group by job_name;
- 需求2
获取每个城市,每个工作岗位的最高薪资、最低薪资、平均薪资。
select concat(job_name,'-',city) 工作岗位城市,max(job_salary) 最高薪资,min(job_salary) 最低薪资,round(avg(job_salary),2) 平均薪资
from hot_work2
group by job_name,city;
concat(str1,str2,...)
连接字符串,将str1,str2…拼接成一个字段
round(浮点型,2)
保留两位小数。