MySQL数据库学习之条件查询

创建三张表

create table emp(
empno int(4) primary key not null,
ename varchar(6),
job varchar(9),
mgr int(4),
miredate date,
sal double(7,2),
comm double(7,2),
deptno int(2)
)

mysql> desc emp;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| empno    | int(4)      | NO   | PRI | NULL    |       |
| ename    | varchar(6)  | YES  |     | NULL    |       |
| job      | varchar(9)  | YES  |     | NULL    |       |
| mgr      | int(4)      | YES  |     | NULL    |       |
| miredate | date        | YES  |     | NULL    |       |
| sal      | double(7,2) | YES  |     | NULL    |       |
| comm     | double(7,2) | YES  |     | NULL    |       |
| deptno   | int(2)      | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+

insert emp values('1','Jack','salesman',null,now(),'4000',null,'3');
insert emp values('2','White','Manager',null,now(),'4500',null,'2');
insert emp values('3','cathy','Secretary ',null,now(),'4000',null,'1');
insert emp values('4','merry','Analyst ',null,now(),'3500',null,'4');
insert emp values('5','lucy','Assistant',null,now(),'2800',null,'5');
insert emp values('6','Hellen','Typist',null,now(),'2700',null,'6');
insert emp values('7','Kate','Receptionist',null,now(),'2500',null,'4');
insert emp values('8','jenny','salesman',null,now(),'5500',null,'3');
insert emp values('9','Andrew','Manager',null,now(),'6000',null,'1');
insert emp values('10','ford','salesman',null,now(),'2700',null,'7');
insert emp values('11','Angus','Assistant',null,now(),'3000',null,'3');
insert emp values('12','Andy','salesman',null,now(),'3500',null,'7');
insert emp values('14','jack','Secretary',null,now(),'2700',null,'2');

mysql> select * from emp;
+-------+--------+-----------+------+------------+---------+------+--------+
| empno | ename  | job       | mgr  | miredate   | sal     | comm | deptno |
+-------+--------+-----------+------+------------+---------+------+--------+
|     1 | Jack   | salesman  | NULL | 2019-01-18 | 4000.00 | NULL |      3 |
|     2 | White  | Manager   | NULL | 2019-01-18 | 4500.00 | NULL |      2 |
|     3 | cathy  | Secretary | NULL | 2019-01-18 | 4000.00 | NULL |      1 |
|     4 | merry  | Analyst   | NULL | 2019-01-18 | 3500.00 | NULL |      4 |
|     5 | lucy   | Assistant | NULL | 2019-01-18 | 2800.00 | NULL |      5 |
|     6 | Hellen | Typist    | NULL | 2019-01-18 | 2700.00 | NULL |      6 |
|     8 | jenny  | salesman  | NULL | 2019-01-18 | 5500.00 | NULL |      3 |
|     9 | Andrew | Manager   | NULL | 2019-01-18 | 6000.00 | NULL |      1 |
|    10 | ford   | salesman  | NULL | 2019-01-18 | 2700.00 | NULL |      7 |
|    11 | Angus  | Assistant | NULL | 2019-01-18 | 3000.00 | NULL |      3 |
|    12 | Andy   | salesman  | NULL | 2019-01-18 | 3500.00 | NULL |      7 |
|    14 | Jacob  | Secretary | NULL | 2019-01-18 | 2700.00 | NULL |      2 |
+-------+--------+-----------+------+------------+---------+------+--------+

create table dept(
deptno int(4) primary key not null,
dname varchar(30)
)

insert dept values('1','planning');
insert dept values('2','administration');
insert dept values('3','sales');
insert dept values('4','project');
insert dept values('5','Secretarys');
insert dept values('6','technical');
insert dept values('7','sales_2');

mysql> select * from dept;
+--------+----------------+
| deptno | dname          |
+--------+----------------+
|      1 | planning       |
|      2 | administration |
|      3 | sales          |
|      4 | project        |
|      5 | Secretarys     |
|      6 | technical      |
|      7 | sales_2        |
+--------+----------------+

create table salgrade(
salno int(4) primary key not null,
lowsal double(7,2),
highsal double(7,2),
sgrade int(2)
);

insert salgrade values('1','2500','3000','1');
insert salgrade values('2','3000','3500','2');
insert salgrade values('3','3500','4000','3');
insert salgrade values('4','4000','4500','4');
insert salgrade values('5','4500','5000','5');
insert salgrade values('6','5000','5500','6');
insert salgrade values('7','5500','6000','7');
insert salgrade values('8','6000','6500','8');
insert salgrade values('9','6500','7000','9');


mysql> select * from salgrade;
+-------+---------+---------+--------+
| salno | lowsal  | highsal | sgrade |
+-------+---------+---------+--------+
|     1 | 2500.00 | 3000.00 |      1 |
|     2 | 3000.00 | 3500.00 |      2 |
|     3 | 3500.00 | 4000.00 |      3 |
|     4 | 4000.00 | 4500.00 |      4 |
|     5 | 4500.00 | 5000.00 |      5 |
|     6 | 5000.00 | 5500.00 |      6 |
|     7 | 5500.00 | 6000.00 |      7 |
|     8 | 6000.00 | 6500.00 |      8 |
|     9 | 6500.00 | 7000.00 |      9 |
+-------+---------+---------+--------+

 第一章 条件查询

案例:找出薪水大于3000的员工,要求显示员工名和薪水
		mysql> select ename,sal from emp where sal>3000;
		+--------+---------+
		| ename  | sal     |
		+--------+---------+
		| Jack   | 4000.00 |
		| White  | 4500.00 |
		| cathy  | 4000.00 |
		| merry  | 3500.00 |
		| jenny  | 5500.00 |
		| Andrew | 6000.00 |
		| Andy   | 3500.00 |
		+--------+---------+
案例:找出薪水在3000到5000的员工,要求显示员工名和薪水(between)
		mysql> select ename,sal from emp where sal between 3000 and 5000;
		mysql> select ename,sal from emp where sal >= 3000 and sal <= 5000;
		+-------+---------+
		| ename | sal     |
		+-------+---------+
		| Jack  | 4000.00 |
		| White | 4500.00 |
		| cathy | 4000.00 |
		| merry | 3500.00 |
		| Angus | 3000.00 |
		| Andy  | 3500.00 |
		+-------+---------+
案例:找出补助为空的员工(is null)
		mysql> select ename,comm from emp where comm is null;
		+--------+------+
		| ename  | comm |
		+--------+------+
		| Jack   | NULL |
		| White  | NULL |
		| cathy  | NULL |
		| merry  | NULL |
		| lucy   | NULL |
		| Hellen | NULL |
		| jenny  | NULL |
		| Andrew | NULL |
		| ford   | NULL |
		| Angus  | NULL |
		| Andy   | NULL |
		| Jacob  | NULL |
		+--------+------+
案例:找出工作是Manager和salesman的员工(and or in)
		mysql> select ename,job from emp where job='salesman' or job='manager';
		mysql> select ename,job from emp where job in('salesman','manager');
		+--------+----------+
		| ename  | job      |
		+--------+----------+
		| Jack   | salesman |
		| White  | Manager  |
		| jenny  | salesman |
		| Andrew | Manager  |
		| ford   | salesman |
		| Andy   | salesman |
		+--------+----------+
案例:模糊查询(%代表0到N个任意字符,_代表任意一个字符)
		mysql> select ename,job from emp where job like "%s_";
		+--------+--------+
		| ename  | job    |
		+--------+--------+
		| Hellen | Typist |
		+--------+--------+

猜你喜欢

转载自blog.csdn.net/u012865864/article/details/86535212