一、案例分享
/* 素材 */
#创建数据表
CREATE TABLE `emp` (
empno int(4) NOT NULL,
ename varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
job varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
mgr int(4) NULL DEFAULT NULL,
hiredate date NOT NULL,
sai int(255) NOT NULL,
comm int(255) NULL DEFAULT NULL,
deptno int(2) NOT NULL,
PRIMARY KEY (empno) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
#插入数据
INSERT INTO 'emp' VALUES (1001, '甘宁', '文员', 1013, '2000-12-17', 8000, NULL, 20);
INSERT INTO 'emp' VALUES (1002, '黛绮丝', '销售员', 1006, '2001-02-20', 16000, 3000, 30);
INSERT INTO 'emp' VALUES (1003, '殷天正', '销售员', 1006, '2001-02-22', 12500, 5000, 30);
INSERT INTO 'emp' VALUES (1004, '刘备', '经理', 1009, '2001-04-02', 29750, NULL, 20);
INSERT INTO 'emp' VALUES (1005, '谢逊', '销售员', 1006, '2001-09-28', 12500, 14000, 30);
INSERT INTO 'emp' VALUES (1006, '关羽', '经理', 1009, '2001-05-01', 28500, NULL, 30);
INSERT INTO 'emp' VALUES (1007, '张飞', '经理', 1009, '2001-09-01', 24500, NULL, 10);
INSERT INTO 'emp' VALUES (1008, '诸葛亮', '分析师', 1004, '2007-04-19', 30000, NULL, 20);
INSERT INTO 'emp' VALUES (1009, '曾阿牛', '董事长', NULL, '2001-11-17', 50000, NULL, 10);
INSERT INTO 'emp' VALUES (1010, '韦一笑', '销售员', 1006, '2001-09-08', 15000, 0, 30);
INSERT INTO 'emp' VALUES (1011, '周泰', '文员', 1006, '2007-05-23', 11000, NULL, 20);
INSERT INTO 'emp' VALUES (1012, '程普', '文员', 1006, '2001-12-03', 9500, NULL, 30);
INSERT INTO 'emp' VALUES (1013, '庞统', '分析师', 1004, '2001-12-03', 30000, NULL, 20);
INSERT INTO 'emp' VALUES (1014, '黄盖', '文员', 1007, '2002-01-23', 13000, NULL, 10);
INSERT INTO 'emp' VALUES (1015, '张三', '保洁员', 1001, '2013-05-01', 80000, 50000, 50);
案例查询要求
1. 查询出部门编号为30的所有员工
mysql> select * from emp where deptno = 30;
2. 所有销售员的姓名、编号和部门编号
mysql> select empno,ename,deptno from emp where job = '销售员';
3. 找出奖金高于工资的员工
mysql> select * from emp where comm>sai;
4. 找出奖金高于工资60%的员工
mysql> select * from emp where comm>sai*0.6;
5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料
mysql> select * from emp where deptno = 10 and job = '经理' or deptno = 20 and job = '销售员';
6. 找出部门编号为10中所有经理,部门编号为20中所有销售员,还有既不是经理又不是销售员但其工资大或等于20000的所有员工详细资料
mysql> select * from emp where deptno = 10 and job = '经理' or deptno = 20 and job = '销售员' or job != '销售员' and job != '经理' and sai > 20000;
7. 无奖金或奖金低于1000的员工
mysql> select * from emp where comm is NULL or comm < 1000;
8. 查询名字由三个字组成的员工
mysql> select * from emp where ename like '___'; //三个下划线
9.查询2000年入职的员工
mysql> select * from emp where year(hiredate)=2000;
10. 查询所有员工详细信息,用编号升序排序
mysql> select * from emp order by empno;
11. 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序
mysql> select * from emp order by sai desc,hiredate;
12.查询每个部门的平均工资
mysql> select deptno,avg(sai) tail from emp group by deptno;
13.查询每个部门的雇员数量
mysql> select deptno, count(*) from emp
-> group by deptno;
14.查询每种工作的最高工资、最低工资、人数
mysql> select max(sai),min(sai),count(*) from emp group by job;
文章来源地址https://www.toymoban.com/news/detail-547239.html
文章来源:https://www.toymoban.com/news/detail-547239.html
到了这里,关于MySQL 语句查询的方法案例分享,和一些常用查询语句 2023.7.08的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!