MySQL练习题10.2

1、创建表EMPLOY,表中字段如下图所示:

 create table EMPLOY
     (
     EMPNO INT PRIMARY KEY,
     ENAME VARCHAR(10),
     JOB VARCHAR(9),
     MGB INT,
     HIREDATE DATE,
     SAL DOUBLE,
     COMM DOUBLE,
     DEPTNO INT
     );

2、向表中插入如下数据:

INSERT INTO EMPLOY VALUES
(7369,'SMITH','职员',7566,"1980-12-17",800,NULL,20),
     (7499,'ALLEN','销售员',7698,"1981-02-20",1600,300,30),
     (7521,'WARD','销售员',7698,"1981-02-22",1250,500,30),
     (7566,'JONES','经理',7839,"1981-04-02",2975,NULL,20),
     (7654,'MARTIN','销售员',7698,"1981-09-28",1250,1400,30),
     (7698,'BLANK','经理',7839,"1981-05-01",2850,NULL,30),
     (7782,'CLARK','经理',7839,"1981-06-09",2450,NULL,10),
     (7788,'SCOTT','职员',7566,"1987-07-03",3000,2000,20),
     (7839,'KING','董事长',NULL,"1981-11-17",5000,NULL,10);

3、完成以下查询:
(1)查找部门为30的员工的详细信息。

select * from EMPLOY WHERE DEPTNO=30;

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

 select EMPNO,ENAME,DEPTNO from EMPLOY WHERE JOB IN('职员');

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

select * from EMPLOY where COMM>SAL;

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

select * from EMPLOY where COMM>SAL*0.6;

(5)找出姓名中包含A的员工信息。

select * from EMPLOY where ENAME LIKE '%A%';

(6)找出姓名以A、B、S开始的员工信息。

select * from EMPLOY where ENAME LIKE 'A%' OR ENAME LIKE 'B%' OR ENAME LIKE 'S%';

(7)找到名字长度为7个字符的员工信息。

select * from EMPLOY where ENAME LIKE '_______';

(8)查询无奖金或奖金低于1000的员工。

select * from EMPLOY where COMM IS NULL OR COMM<1000;

(9)查询2000年入职的员工

select * from EMPLOY where HIREDATE>='2000-1-1' AND HIREDATE<='2000-12-31';

猜你喜欢

转载自blog.csdn.net/m0_46653702/article/details/109264552