#推荐
高薪必看:5步教你如何快速破解数据库查询题

2021-05-24 0 372

Mysql查询题,不仅出境评率高,而且非常影响薪资谈判,所以地位非常重要
1. 几乎所有的软件测试题都会有Mysql查询练习,薪资高的大公司,由于应聘者多,所以甄选出更优秀的测试人员,往往会设置一两道特别难的Mysql查询题。
2. 如果我们其他题目都答的很好,但是Mysql查询难题答的不好,和可能在面试竞争中被PK下去,导致自己和心仪的公司失之交臂。就算是竞争对手不强侥幸获胜,也会让我们在后面薪资谈判上吃亏。
3. 反之,如果Mysql查询难题练习不仅正确,而且解题快,那么就会给用人单位留下技术强悍的好印象,从而立刻甩开其他竞争者。不仅薪资谈判上会占据有利地位,也有利于自己在公司未来的发展。

但尴尬的是,很多测试新手拿到题目之后却往往确不知道如何解题,更别说Mysql查询难题了。为让大家更好掌握数据库查询题技巧,特撰写技术文章给大家介绍。本文主要分为以下几个步骤:

1. 第一步, 准备建表语句
2. 第二步,将建表语句输入到navicat中建立三个表
3. 第三步,了解查询题做题三步骤
4. 第四步,做题验证步骤
5. 第五步,总结

一. 第一步还是老方法 —— 准备建表语句

1.准备sql数据

-- 员工表 employees
-- 工资表 salary
-- 部门表 departments
create table departments (
deptid int(10) primary key,
deptname varchar(20) not null -- 部门名称
);
insert into departments values ('1001', '市场部');
insert into departments values ('1002', '测试部');
insert into departments values ('1003', '开发部');

create table employees (
empid int(10) primary key,
empname varchar(20) not null, -- 姓名
sex varchar(4) default null, -- 性别
deptid int(20) default null, -- 部门编号
jobs varchar(20) default null, -- 岗位
politicalstatus varchar(20) default null, -- 政治面貌
leader int(10) default null
);

insert into employees values ('1', '王昭君', '女', '1003', '开发', '群众', '9');
insert into employees values ('2', '诸葛亮', '男', '1003', '开发经理', '群众', null);
insert into employees values ('3', '张飞', '男', '1002', '测试', '团员', '4');
insert into employees values ('4', '白起', '男', '1002', '测试经理', '党员', null);
insert into employees values ('5', '大乔', '女', '1002', '测试', '党员', '4');
insert into employees values ('6', '孙尚香', '女', '1001', '市场', '党员', '12');
insert into employees values ('7', '百里玄策', '男', '1001', '市场', '团员', '12');
insert into employees values ('8', '小乔', '女', '1002', '测试', '群众', '4');
insert into employees values ('9', '百里守约', '男', '1003', '开发', '党员', '9');
insert into employees values ('10', '妲己', '女', '1003', '开发', '团员', '9');
insert into employees values ('11', '李白', '男', '1002', '测试', '团员', '4');
insert into employees values ('12', '孙膑', '男', '1001', '市场经理', '党员', null);

create table salary (
sid int(10) primary key,
empid int(10) not null,
salary int(10) not null -- 工资
);

insert into salary values ('1', '7', '2100');
insert into salary values ('2', '6', '2000');
insert into salary values ('3', '12', '5000');
insert into salary values ('4', '9', '1999');
insert into salary values ('5', '10', '1900');
insert into salary values ('6', '1', '3000');
insert into salary values ('7', '2', '5500');
insert into salary values ('8', '5', '2000');
insert into salary values ('9', '3', '1500');
insert into salary values ('10', '8', '4000');
insert into salary values ('11', '11', '2600');
insert into salary values ('12', '4', '5300');

二.第二步——将建表语句输入到navicat中建立三个表

1)新建数据库test

高薪必看:5步教你如何快速破解数据库查询题

2)将sql语句输入到查询编辑器中,运行

高薪必看:5步教你如何快速破解数据库查询题

3)创建数据表并黏贴到excel中

高薪必看:5步教你如何快速破解数据库查询题

高薪必看:5步教你如何快速破解数据库查询题

三. 第三步 —— 了解查询题做题三步骤

— 1.看题目字段来源于哪些表,如果是多表,就用内连接
— (暂不用子查询,除非自己能明确能用子查询或题意要求用子查询)

— 2.根据题意:灵活选择查询命令,多个查询命令排除先后顺序是
—  where过滤[的]
—  分组(1)显性:每,各 2)隐性:过滤总数[如人数或其他聚合函数]
—  haiving(的)
—  排序[最高的]
—  取值[前几名]

— 3. 根据题意,select取字段

四. 第四步 ——做题验证步骤

问题1:列出市场部的所有女职工的姓名和政治面貌

高薪必看:5步教你如何快速破解数据库查询题

2)得到题目答案

select deptname,count(*) from departments as d inner join employees as e on d.deptid=e.deptid where politicalstatus='党员' group by deptname

2.显示工资最高的前3名职工的职工号和姓名

1)做题步骤

高薪必看:5步教你如何快速破解数据库查询题

2)得到题目的答案

select e.empid,empname,salary from salary as s inner join employees as e on s.empid=e.empid order by salary desc limit 3

五、总结

— 1.看题目字段来源于哪些表,如果是多表,就用内连接
— (暂不用子查询,除非自己能明确能用子查询或题意要求用子查询)

— 2.根据题意:灵活选择查询命令,多个查询命令排除先后顺序是
—  where过滤[的]
—  分组(1)显性:每,各 2)隐性:过滤总数[如人数或其他聚合函数]
—  haiving(的)
—  排序[最高的]
—  取值[前几名]

— 3. 根据题意,select取字段

按照上面的做题步骤,赶紧来试试下面这几道题吧,有问题请在下方评论区提问哈:

1. 列出市场部的所有女职工的姓名和政治面貌
2. 显示所有职工的姓名、部门名和工资数
3. 列出工资在1000-2000之间的所有职工姓名

麋鹿网 测试经验级 高薪必看:5步教你如何快速破解数据库查询题 https://www.miluwang.cn/718.html

学测试就到麋鹿网

相关文章

评论
暂无评论