【第二阶段 | MySQL语句详解=简单查询=DQL操作数据表】

创建时间: 2021/4/13 20:49
更新时间: 2021/4/13 20:52
作者: 云雲

DQL 查询表中数据

代码准备

— DQL 查询

创建员工表 create table emp( eid int, ename varchar(20), sex char(1), salary double, hire_date date, dept_name varchar(20) );

— 插入数据

INSERT INTO emp VALUES(1,’孙悟空’,’男’,7200,’2013-02-04’,’教学部’); INSERT INTO emp VALUES(2,’猪八戒’,’男’,3600,’2010-12-02’,’教学部’); INSERT INTO emp VALUES(3,’唐僧’,’男’,9000,’2008-08-08’,’教学部’); INSERT INTO emp VALUES(4,’白骨精’,’女’,5000,’2015-10-07’,’市场部’); INSERT INTO emp VALUES(5,’蜘蛛精’,’女’,5000,’2011-03-14’,’市场部’); INSERT INTO emp VALUES(6,’玉兔精’,’女’,200,’2000-03-14’,’市场部’); INSERT INTO emp VALUES(7,’林黛玉’,’女’,10000,’2019-10-07’,’财务部’); INSERT INTO emp VALUES(8,’黄蓉’,’女’,3500,’2011-09-14’,’财务部’); INSERT INTO emp VALUES(9,’吴承恩’,’男’,20000,’2000-03-14’,NULL); INSERT INTO emp VALUES(10,’孙悟饭’,’男’, 10,’2020-03-14’,’财务部’);

— 简单查询

— 查询emp表中的所有数据

select * from emp;

— 查询部分字段

select ename,salary from emp;

— 别名查询,使用关键字 as

select eid as ‘编号’, ename as ‘姓名’, sex ‘性别’, salary ‘薪资’, hire_date ‘入职时间’, dept_name ‘部门名称’ from emp;

— 需求4:查询一共有几个部门 使用去重关键字 distinct

SELECT DISTINCT dept_name from emp;

— 需求5: 将所有员工的工资 +1000 元进行显示运算查询 (查询结果参与运算)

select ename,salary+1000 from emp;

— DMQ条件查询

— select 列名 from 表名 where 条件表达式

# 查询员工姓名为黄蓉的员工信息

select from emp e where e.ename=’黄蓉’;
# 查询薪水价格为5000的员工信息 select
from emp e where e.salary=’5000’; # 查询薪水价格不是5000的所有员工信息 select from emp e where e.salary!=’5000’; # 查询薪水价格大于6000元的所有员工信息 select from emp e where e.salary>’5000’; # 查询薪水价格在5000到10000之间所有员工信息 select from emp where salary between 5000 and 10000; # 查询薪水价格是3600或7200或者20000的所有员工信息 — 方式1: or SELECT FROM emp WHERE salary = 3600 OR salary = 7200 OR salary = 20000; — 方式2: in() 匹配括号中指定的参数 SELECT FROM emp WHERE salary IN(3600,7200,20000); — % 表示匹配任意多个字符串, — _ 表示匹配 一个字符 # 查询含有’精’字的所有员工信息 select from emp where ename like ‘%精%’; # 查询以’孙’开头的所有员工信息 select from emp where ename like ‘孙%’; # 查询第二个字为’兔’的所有员工信息 select from emp where ename like ‘兔%’; # 查询没有部门的员工信息 select from emp where dept_name is null; # 查询有部门的员工信息 select from emp where dept_name is ot null; — % 表示匹配任意多个字符串, — 表示匹配 一个字符