多测师课堂010_mysql之单表和多表(练习题001)高级讲师肖sir

#建表:

#部门表

create table dept(

    deptno int primary key,

    dname varchar(14), -- 部门名称

    loc varchar(13)-- 部门地址

)default charset=utf8 ;

insert into dept values (10,'会计部','纽约');

insert into dept values (20,'技术部','达拉斯');

insert into dept values (30,'销售部','芝加哥');

insert into dept values (40,'运营部','波士顿');

select * from dept

#员工表

drop table emp;

create table emp(

    empno int  primary key, -- 员工编号

    ename varchar(10), -- 员工姓名

    job varchar(9), -- 员工工作

    mgr int, -- 员工直属领导编号

    hiredate date, -- 入职时间

    sal double, -- 工资

    comm double, -- 奖金

    deptno int,  -- 所在部门

    foreign key (deptno) references dept(deptno)) default  charset=utf8;  -- 关联dept表  

-- alter table emp add foreign key (deptno) references dept(deptno);

insert into emp values(7369,'smith','职员',7566,"1980-12-17",800,null,20);

insert into emp values(7499,'allen','销售员',7698,'1981-02-20',1600,300,30);

insert into emp values(7521,'ward','销售员',7698,'1981-02-22',1250,500,30);

insert into emp values(7566,'jones','经理',7839,'1981-04-02',2975,null,20);

insert into emp values(7654,'martin','销售员',7698,'1981-09-28',1250,1400,30);

insert into emp values(7698,'blake','经理',7839,'1981-05-01',2850,null,30);

insert into emp values(7782,'clark','经理',7839,'1981-06-09',2450,null,10);

insert into emp values(7788,'scott','职员',7566,'1987-07-03',3000,2000,20);

insert into emp values(7839,'king','董事长',null,'1981-11-17',5000,null,10);

insert into emp values(7844,'turners','销售员',7698,'1981-09-08',1500,50,30);

insert into emp values(7876,'adams','职员',7566,'1987-07-13',1100,null,20);

insert into emp values(7900,'james','职员',7698,'1981-12-03',1250,null,30);

insert into emp values(7902,'ford','销售员',7566,'1981-12-03',3000,null,20);

insert into emp values(7934,'miller','职员',7782,'1981-01-23',1300,null,10);

#工资等级表

create table salgrade(

    grade int,-- 等级

    losal double, -- 最低工资

    hisal double ) default charset=utf8; -- 最高工资

insert into salgrade values (1,500,1000);

insert into salgrade values (2,1001,1500);

insert into salgrade values (3,1501,2000);

insert into salgrade values (4,2001,3000);

insert into salgrade values (5,3001,9999);

单表题目:

#1、查找部门30中员工的详细信息。

#2、找出从事职员工作的员工的编号、姓名、部门号。(clerk  职员,办事员)

#3、检索出奖金多于基本工资的员工信息。

#4、检索出奖金多于基本工资60%的员工信息。

#5、找出10部门的经理、20部门的职员 的员工信息。(manager经理;管理

#6、找出10部门的经理、20部门的职员 或者既不是经理也不是职员但是工资高于2000元的员工信息。(sal 工资)

#7、找出获得奖金的员工的工作。(comm奖金)

#8、找出奖金少于100或者没有获得奖金的员工的信息。

#9、找出姓名以abs开始的员工信息.

#10、找到名字长度为6个字符的员工信息。

#11、名字中不包含r字符的员工信息。

select * from emp where ename not like '%r%';

#12、查找员工的详细信息并按姓名排序。

#13、返回员工的信息并按工作降序工资升序排列。(升序的规则)  

#14、计算员工的日薪(30)

#15、找出姓名中包含a的员工信息。

:多表查询答案

#1、返回拥有员工的部门名、部门号。

#2、工资水平多于smith的员工信息。

#3、返回员工和所属经理的姓名。

#4、返回雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。

#5、返回员工姓名及其所在的部门名称。

#6、返回从事clerk工作的员工姓名和所在部门名称。(CLERK销售)

#7、返回部门号及其本部门的最低工资。

#8、返回销售部(sales)所有员工的姓名。

#9、返回工资水平多于平均工资的员工。

#10、返回与SCOTT从事相同工作的员工。(职员)

#11、返回与30部门员工工资水平相同的员工姓名与工资。

#12、返回工资高于30部门所有员工工资水平的员工信息。

#13、返回部门号、部门名、部门所在位置及其每个部门的工员总数。

#14、返回员工的姓名、所在部门名及其工资。

#15、返回员工的详细信息。(包括部门名)

#16、返回员工工作及其从事此工作的最低工资。

#17、计算出员工的年薪,并且以年薪排序。

#18、返回工资处于第四级别的员工的姓名。

#19、返回工资为二等级的职员名字、部门所在地、和二等级的最低工资和最高工资

#20.工资等级多于smith的员工信息。

原文地址:https://www.cnblogs.com/xiaolehua/p/14009205.html