运维面试,遇到的SQL笔试题

简介: 运维面试,遇到的SQL笔试题

今天突然一个朋友给我突然给我发了一份建立,他选择还是在职状态,但是没事的时候他就喜欢投投简历,来更了解现在的工资行情,他是一个智能AI运维工程师,周日的时候呢,他接到了一家小企业的面试要求,还是线下,到了之后人事简单问了一些工作方面的问题,然后就给他丢过来了一张关于SQL的题,但是这个题我第一眼一看好简单啊,可以在我做的时候确不如此,废话少说,我们来帮他做一下吧。


       查询SQL的方法有很多,大家可以来做一下,如果有更高效的方法欢迎大家评论,如果发现哪里我有写的不对的地方也欢迎大家来纠正

创建原表:

create table user(id int primary key,name varchar(10),age int,sex char(1));
create table salary(userid int, salary int, month int, year int);
alter table salary add foreign key(userid) references user(id);
insert into user values(1,'zhangsan',27,'n'),(2,'lisi',28,'n'),(3,'wuwang',29,'v');
insert into salary values(1,1000,1,2004),(1,1000,2,2004),(1,2000,3,2004),(2,2000,1,2004),(2,2000,2,2004),(2,2000,3,2004),(3,2000,1,2004),(3,2000,2,2004),(3,2000,3,2004);

1,求2004年一月份工资最低的员工姓名

mysql> select * from user u join salary s on u.id=s.userid and salary = (select min(salary) from salary where year=2004 and month=1) and year=2004 and month=1;
+----+----------+------+------+--------+--------+-------+------+
| id | name     | age  | sex  | userid | salary | month | year |
+----+----------+------+------+--------+--------+-------+------+
|  1 | zhangsan |   27 | n    |      1 |   1000 |     1 | 2004 |
+----+----------+------+------+--------+--------+-------+------+
1 row in set (0.00 sec)

2,删除User表中Sex为女的用户,在 Salary 表中的所有信息

delete from salary where userid=(select id from user where sex='v');

3,求Sex 等于男的用户,2004 年第一季度的平均工资

mysql> select u.sex,avg(s.salary) from user u inner join salary s on u.id=s.userid and  sex='n' and year=2004 and month between 1 and 3 group by u.sex;
+------+---------------+
| sex  | avg(s.salary) |
+------+---------------+
| n    |     1666.6667 |
+------+---------------+
1 row in set (0.00 sec)

4,求Sex 等于男并且2004年3 月份有涨工资的用户

mysql> select a.name from (select u.name,s.salary from salary s join user u on u.id=s.userid and u.sex
='n' and month=2) a,(select u.name,s.salary from salary s join user u on u.id=s.userid and u.sex='n' a
nd month=3) b where a.name=b.name and b.salary>a.salary;
+----------+
| name     |
+----------+
| zhangsan |
+----------+
1 row in set (0.00 sec)


目录
相关文章
|
4月前
|
SQL 数据库
SQL面试50题------(初始化工作、建立表格)
这篇文章提供了SQL面试中可能会遇到的50道题目的建表和初始化数据的SQL脚本,包括学生、教师、课程和成绩表的创建及数据插入示例。
SQL面试50题------(初始化工作、建立表格)
|
4月前
|
SQL
sql面试50题------(1-10)
这篇文章提供了SQL面试中的前10个问题及其解决方案,包括查询特定条件下的学生信息、教师信息和课程成绩等。
sql面试50题------(1-10)
|
1月前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
2月前
|
SQL 运维 关系型数据库
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
54 1
|
4月前
|
SQL 运维 监控
SQL Server 运维常用sql语句(二)
SQL Server 运维常用sql语句(二)
43 3
|
4月前
|
SQL 缓存 运维
Sql Server日常运维看我这篇就够了!
Sql Server日常运维看我这篇就够了!
110 2
|
4月前
|
SQL XML 运维
SQL Server 运维常用sql语句(三)
SQL Server 运维常用sql语句(三)
37 1
|
4月前
|
SQL
sql面试50题------(11-20)
这篇文章提供了SQL面试中的50道题目,其中详细解释了11至20题,包括查询与学号为“01”的学生所学课程相同的学生信息、不及格课程的学生信息、各科成绩统计以及学生的总成绩排名等问题的SQL查询语句。
|
4月前
|
SQL
sql面试50题------(21-30)
这篇文章是SQL面试题的21至30题,涵盖了查询不同老师所教课程的平均分、按分数段统计各科成绩人数、查询学生平均成绩及其名次等问题的SQL查询语句。
sql面试50题------(21-30)