MySQL查询相关内容

创建员工库和表;

sql 复制代码
mysql> create database mydb8_worker;
Query OK, 1 row affected (0.01 sec)

mysql> use mydb8_worker;
Database changed
mysql> create table t_worker(
    -> department_id int(11) not null comment '部门号',
    -> worker_id int(11) primary key not null comment '职工号',
    -> worker_date date not null comment '工作时间',
    -> wages float(8,2) not null comment '工资',
    -> polotics varchar(10) not null default '群众' comment '政治面貌',
    -> name varchar(20) not null comment '姓名',
    -> borth_date date not null comment '出生日期');
Query OK, 0 rows affected, 3 warnings (0.02 sec)

mysql> insert into t_worker values(101,1001,'2015-5-4',7500.00,'群众','张春燕','1990-7-1');
Query OK, 1 row affected (0.01 sec)
mysql> insert into t_worker values(101,1002,'2019-2-6',5200.00,'团员','李明博','1997-2-8');
Query OK, 1 row affected (0.01 sec)
mysql> insert into t_worker values(102,1003,'2008-1-4',10500.00,'党员','王博涵','1983-6-8');
Query OK, 1 row affected (0.00 sec)
mysql> insert into t_worker values(102,1004,'2016-10-10',5500.00,'群众','赵小军','1994-9-5');
Query OK, 1 row affected (0.01 sec)
mysql> insert into t_worker values(102,1005,'2014-4-1',8800.00,'党员','钱有才','1992-12-30');
Query OK, 1 row affected (0.00 sec)
mysql> insert into t_worker values(103,1006,'2019-5-5',5500.00,'党员','孙菲菲','1996-9-2');
Query OK, 1 row affected (0.01 sec)

完成对应查询操作。

sql 复制代码
mysql> select * from t_worker;
+---------------+-----------+-------------+----------+----------+--------+------------+
| department_id | worker_id | worker_date | wages    | polotics | name   | borth_date |
+---------------+-----------+-------------+----------+----------+--------+------------+
|           101 |      1001 | 2015-05-04  |  7500.00 | 群众     | 张春燕 | 1990-07-01 |
|           101 |      1002 | 2019-02-06  |  5200.00 | 团员     | 李明博 | 1997-02-08 |
|           102 |      1003 | 2008-01-04  | 10500.00 | 党员     | 王博涵 | 1983-06-08 |
|           102 |      1004 | 2016-10-10  |  5500.00 | 群众     | 赵小军 | 1994-09-05 |
|           102 |      1005 | 2014-04-01  |  8800.00 | 党员     | 钱有才 | 1992-12-30 |
|           103 |      1006 | 2019-05-05  |  5500.00 | 党员     | 孙菲菲 | 1996-09-02 |
+---------------+-----------+-------------+----------+----------+--------+------------+
6 rows in set (0.00 sec)

mysql> select distinct department_id from t_worker;
+---------------+
| department_id |
+---------------+
|           101 |
|           102 |
|           103 |
+---------------+
3 rows in set (0.00 sec)

mysql> select count(*) from t_worker;
+----------+
| count(*) |
+----------+
|        6 |
+----------+
1 row in set (0.01 sec)

mysql> select max(wages) as '最高工资',min(wages) as '最低工资' from t_worker;
+----------+----------+
| 最高工资 | 最低工资 |
+----------+----------+
| 10500.00 |  5200.00 |
+----------+----------+
1 row in set (0.00 sec)

mysql> select avg(wages) as '平均工资',sum(wages) as '总工资' from t_worker;
+-------------+----------+
| 平均工资    | 总工资   |
+-------------+----------+
| 7166.666667 | 43000.00 |
+-------------+----------+
1 row in set (0.00 sec)

mysql> create table work_date as select worker_id,name,worker_date from t_worker;
Query OK, 6 rows affected (0.02 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql> show tables;
+------------------------+
| Tables_in_mydb8_worker |
+------------------------+
| t_worker               |
| work_date              |
+------------------------+
2 rows in set (0.00 sec)

mysql> select name,year(now())-year(borth_date) as '年龄' from t_worker where polotics='党员';
+--------+------+
| name   | 年龄 |
+--------+------+
| 王博涵 |   42 |
| 钱有才 |   33 |
| 孙菲菲 |   29 |
+--------+------+
3 rows in set (0.00 sec)

mysql> select name from t_worker where wages between 4000 and 8000;
+--------+
| name   |
+--------+
| 张春燕 |
| 李明博 |
| 赵小军 |
| 孙菲菲 |
+--------+
4 rows in set (0.00 sec)

mysql> select name from t_worker where name like '孙%' or name like '李%';
+--------+
| name   |
+--------+
| 李明博 |
| 孙菲菲 |
+--------+
2 rows in set (0.00 sec)

mysql> select worker_id,name from t_worker where (department_id<=>102 or department_id<=>103) and polotics!='党员';
+-----------+--------+
| worker_id | name   |
+-----------+--------+
|      1004 | 赵小军 |
+-----------+--------+
1 row in set (0.00 sec)

mysql> select * from t_worker order by borth_date;
+---------------+-----------+-------------+----------+----------+--------+------------+
| department_id | worker_id | worker_date | wages    | polotics | name   | borth_date |
+---------------+-----------+-------------+----------+----------+--------+------------+
|           102 |      1003 | 2008-01-04  | 10500.00 | 党员     | 王博涵 | 1983-06-08 |
|           101 |      1001 | 2015-05-04  |  7500.00 | 群众     | 张春燕 | 1990-07-01 |
|           102 |      1005 | 2014-04-01  |  8800.00 | 党员     | 钱有才 | 1992-12-30 |
|           102 |      1004 | 2016-10-10  |  5500.00 | 群众     | 赵小军 | 1994-09-05 |
|           103 |      1006 | 2019-05-05  |  5500.00 | 党员     | 孙菲菲 | 1996-09-02 |
|           101 |      1002 | 2019-02-06  |  5200.00 | 团员     | 李明博 | 1997-02-08 |
+---------------+-----------+-------------+----------+----------+--------+------------+
6 rows in set (0.00 sec)

mysql> select worker_id,name from t_worker order by wages desc limit 3;
+-----------+--------+
| worker_id | name   |
+-----------+--------+
|      1003 | 王博涵 |
|      1005 | 钱有才 |
|      1001 | 张春燕 |
+-----------+--------+
3 rows in set (0.00 sec)

mysql> select department_id,count(worker_id) as '党员人数' from t_worker where polotics='党员' group by department_id;
+---------------+----------+
| department_id | 党员人数 |
+---------------+----------+
|           102 |        2 |
|           103 |        1 |
+---------------+----------+
2 rows in set (0.00 sec)

mysql> select department_id,count(*) as '党员人数',round(avg(wages),2) as '平均工资' from t_worker where polotics='党员' group by department_id;
+---------------+----------+----------+
| department_id | 党员人数 | 平均工资 |
+---------------+----------+----------+
|           102 |        2 |     9650 |
|           103 |        1 |     5500 |
+---------------+----------+----------+
2 rows in set (0.01 sec)

mysql> select department_id,count(*) as '总人数' from t_worker group by department_id having count(*) >=3;
+---------------+--------+
| department_id | 总人数 |
+---------------+--------+
|           102 |      3 |
+---------------+--------+
1 row in set (0.00 sec)
相关推荐
来碗疙瘩汤5 分钟前
uniapp动态读取版本号
android
用户416596736935538 分钟前
存量项目如何拥抱 KMP?从环境搭建到组件化集成的保姆级指南
android
技术摆渡人2 小时前
Android 系统技术探索(3)光影魔术(SurfaceFlinger & 图形栈)。
android
某空m2 小时前
【Android】浅析DataBinding
android·开发语言
musk12123 小时前
ADB 常用命令总结(内容由 AI 生成)
adb
Yyyy4823 小时前
K8s 部署 MySQL 主从复制集群
adb
sky北城3 小时前
You are not able to choose some of the languages, because locales for them a
android
儿歌八万首4 小时前
Jetpack Compose 实战:打造高性能轮播图 (Carousel) 组件
android·前端·kotlin
QING6184 小时前
Kotlin Flow 防抖(Debounce)详解
android·kotlin·android jetpack
QING6184 小时前
Kotlin Flow 防抖(Debounce)、节流(Throttle)、去重(distinctUntilChanged) —— 新手指南
android·kotlin·android jetpack