測試高薪必看:5步教測試人員如何快速破解數據庫查詢題

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

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取字段
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章