【MYSQL】基础练习(二)

MYSQL基础练习(二)

创建company数据库,在数据库中根据以下图示创建表,表结构如下,并插入以下数据,完成下面的sql。

dept表:
在这里插入图片描述

emp表:
在这里插入图片描述

salgrade表:

在这里插入图片描述

dept表数据:

在这里插入图片描述

emp表数据:

在这里插入图片描述

salgrade表数据:

在这里插入图片描述

完成以下SQL编写
1.修改emp表中sal字段为salary
2 .查找年薪在20000到30000之间的所有员工信息并按照工资降序显示
3.查找员工姓名中包含’A’的所有员工信息
4.查找所有员工姓名中包含’A’及’E’的员工信息
5.查找所有的职位为SALESMAN的员工信息
6.将工资低于2000的员工工资涨薪200
7.查询没有上级领导的所有员工信息
8.查询没有奖金的所有员工信息
9.将部门表中的40部门的地址修改成’xian’
10.假设李华的工资是2000,请查询出他的工资等级
11.将MILLER的入职日期修改为1982年2月23日

第一步:创建company数据库

 create database company;

在这里插入图片描述

第二步:创建表结构并插入数据

  1. 创建dept表结构:
create table `dept`(
`DEPTNO` int comment'部门编号',
`DNAME` varchar(14) comment'部门名称',
`loc` varchar(14) comment'部门地点'
);
  1. 创建emp表结构:
create table `emp`(
`EMPNO` int comment'员工编号',
`ENAME` varchar(10) comment'员工姓名',
`JOB` varchar(9) comment '员工职位',
`MGR` int comment'领导编号',
`HIREDATE` date comment'入职日期',
`SAL` double comment'工资',
`COMM` double comment'奖金',
`DEPTNO` int comment'部门编号'
);
  1. 创建salgrade表结构:
create table `salgrade`(
`GRADE`int comment'工资等级',
`LOSAL`int comment'最低工资',
`HISAL` int comment'最高工资'
);
  1. 插入dept表数据:
INSERT INTO dept(DEPTNO,DNAME,LOC) VALUES
	(10,'ACCOUNTING','NEW YORK'),
	(20,'RESEARCH','DALLAS'),
	(30,'SALES','CHICAGO'),
	(40,'OPERATIONS','BOSTON');
  1. 插入emp表数据:
INSERT INTO emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) VALUES
    (7369, 'SMITH', 'CLERK', 7902, '1980-01-17', 800, NULL, 20),
    (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30),
    (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30),
    (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, NULL, 20),
    (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30),
    (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, NULL, 30),
    (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, NULL, 10),
    (7788, 'SCOTT', 'ANALYST', 7566, '1987-07-13', 3000, NULL, 20),
    (7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000, NULL, 10),
    (7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30),
    (7876, 'ADAMS', 'CLERK', 7788, '1987-07-13', 1100, NULL, 20),
    (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, NULL, 30),
    (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, NULL, 20),
    (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, NULL, 10);
  1. 插入salgrade表数据:
INSERT INTO salgrade(GRADE,LOSAL,HISAL) VALUES
	(1,700,1200),
	(2,1201,1400),
	(3,1401,2000),
	(4,2001,3000),
	(5,3001,9999);

在这里插入图片描述

第三步:按照要求完成sql语句

  1. 修改emp表中sal字段为salary
alter table emp change SAL SALARY double;

在这里插入图片描述

2.查找年薪在20000到30000之间的所有员工信息并按照工资降序显示

select * from emp where (salary*12) between 20000 and 30000 order by salary desc;

在这里插入图片描述
3.查找员工姓名中包含’A’的所有员工信息

select * from emp where ename like '%A%';

在这里插入图片描述4.查找所有员工姓名中包含’A’及’E’的员工信息

select * from emp where ename like'%A%'and ename like'%E%';

在这里插入图片描述5.查找所有的职位为SALESMAN的员工信息

select * from emp where job='salesman';

在这里插入图片描述
6.将工资低于2000的员工工资涨薪200

update emp set salary=salary+200 where salary<2000;

在这里插入图片描述7.查询没有上级领导的所有员工信息

select * from emp where MGR is NULL;

在这里插入图片描述8.查询没有奖金的所有员工信息

select * from emp where comm is null;

在这里插入图片描述
9.将部门表中的40部门的地址修改成’xian’

update dept set loc='xian' where deptno=40; 

在这里插入图片描述
10.假设李华的工资是2000,请查询出他的工资等级

select grade from salgrade where 2000 between losal and hisal;

在这里插入图片描述
11.将MILLER的入职日期修改为1982年2月23日

update emp set hiredate='1982-02-23' where ename='miller';

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值