找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
create table dept(
    deptno int primary key,--所在部门
    dname varchar(14), -- 部门名称
    loc varchar(13)-- 部门地址
)default charset=utf8 ;
select * from dept
insert into dept values (10,'会计部','纽约');
insert into dept values (20,'技术部','达拉斯');
insert into dept values (30,'销售部','芝加哥');
insert into dept values (40,'运营部','波士顿');

#员工表
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表  

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);
select * from emp


====================================
题目:
#1、查找部门30中员工的详细信息。
select deptno,dname "姓名",loc "地址" from dept where deptno=30

#2、找出从事职员工作的员工的编号、姓名、部门号。(clerk  职员,办事员)
select empno "编号",ename "姓名", deptno "部门号" from emp where job="职员"

#3、检索出奖金多于基本工资的员工信息。
select ename "姓名",hiredate "入职日期",deptno "部门号" from emp where comm > sal

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

select ename "姓名",hiredate "入职日期",deptno "部门号" from emp where comm > (sal*0.6)

#5、找出10部门的经理、20部门的职员 的员工信息。(manager经理;管理
select ename "姓名",hiredate "入职日期",deptno "部门号" from emp where (deptno=10 and job="经理")or (deptno=20 and job="职员")

#6、找出10部门的经理、20部门的职员 或者既不是经理也不是职员但是工资高于2000元的员工信息。(sal 工资)
select ename "姓名",job "职位",hiredate "入职日期",deptno "部门号", sal "薪资" from emp
where ((deptno=10 and job="经理")or (deptno=20 and job="职员"))
or(((deptno=10 and job!="经理")or (deptno=20 and job!="职员") )and sal>2000)


#7、找出获得奖金的员工的工作。(comm奖金)
select job "工作" from emp where comm>0

#8、找出奖金少于100或者没有获得奖金的员工的信息。
select ename "姓名",job "工作",comm "奖金" from emp
where comm <100 or comm is null

#9、找出姓名以a、b、s开始的员工信息.
select ename "姓名",job "工作" from emp WHERE
ename like "a%" or ename like "b%" or ename like  "c%"

#10、找到名字长度为6个字符的员工信息。
select ename "姓名",job "工作"  from emp where  ename like "______"

#11、名字中不包含r字符的员工信息
select ename "姓名",job "工作" from emp where ename not like "%r%"

#12、查找员工的详细信息并按姓名排序。
select ename "姓名",job "职位",hiredate "入职日期",deptno "部门号", sal "薪资" from emp
order by ename

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

select ename "姓名",job "职位",hiredate "入职日期",deptno "部门号", sal "薪资" from emp
order by job desc,sal;

#14、计算员工的日薪(按30天)。
select ename "姓名",job "职位",hiredate "入职日期",deptno "部门号", sal "薪资" from emp
where sal=sal/30

#15、找出姓名中包含a的员工信息。
select ename "姓名",job "职位",hiredate "入职日期",deptno "部门号", sal "薪资" from emp
where ename like "%a%"

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册