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

Mysql查询题,不仅出境评率高,而且非常影响薪资谈判,所以地位非常重要

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

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

第一步, 准备建表语句
第二步,将建表语句输入到navicat中建立三个表
第三步,了解查询题做题三步骤
第四步,做题验证步骤
第五步,总结
一. 第一步 —— 准备建表语句
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

在这里插入图片描述
2)将sql语句输入到查询编辑器中,运行

在这里插入图片描述
3)创建数据表并黏贴到excel中
在这里插入图片描述
三. 第三步 —— 了解查询题做题三步骤
– 1.看题目字段来源于哪些表,如果是多表,就用内连接
– (暂不用子查询,除非自己能明确能用子查询或题意要求用子查询)

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

– 3. 根据题意,select取字段
四. 第四步 ——做题验证步骤
问题1:列出市场部的所有女职工的姓名和政治面貌
1)做题步骤

在这里插入图片描述

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)做题步骤

在这里插入图片描述
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取字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值