更新時間:2020-03-08 來源:黑馬程序員 瀏覽量:
Mysql查詢題,不僅出境評率高,而且非常影響薪資談判,所以地位非常重要。
1.幾乎所有的軟件測試題都會有Mysql查詢練習,薪資高的大公司,由于應聘者多,所以甄選出更優秀的測試人員,往往會設置一兩道特別難的Mysql查詢題。
2. 如果我們其他題目都答的很好,但是Mysql查詢難題答的不好,和可能在面試競爭中被PK下去,導致自己和心儀的公司失之交臂。就算是競爭對手不強僥幸獲勝,也會讓我們在后面薪資談判上吃虧。
3. 反之,如果Mysql查詢難題練習不僅正確,而且解題快,那么就會給用人單位留下技術強悍的好印象,從而立刻甩開其他競爭者。不僅薪資談判上會占據有利地位,也有利于自己在公司未來的發展。
但尷尬的是,很多測試新手拿到題目之后卻往往確不知道如何解題,更別說Mysql查詢難題了。為讓大家更好掌握數據庫查詢題技巧,特撰寫技術文章給大家介紹。本文主要分為以下幾個步驟:
1. 第一步:準備建表語句
2. 第二步:將建表語句輸入到navicat中建立三個表
3. 第三步:了解查詢題做題三步驟
4. 第四步:做題驗證步驟
5. 第五步:總結
一. 第一步:準備建表語句
準備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取字段
按照上面的做題步驟,趕緊來試試下面這幾道題吧:
1. 列出市場部的所有女職工的姓名和政治面貌
2. 顯示所有職工的姓名、部門名和工資數
3. 列出工資在1000-2000之間的所有職工姓名
猜你喜歡: