【数据库】SQL--DQL(初阶)

文章目录

  • DCL
  • 1. 基本介绍
  • 2. 语法
    • 2.1 基础查询
    • 2.2 条件查询
    • 2.3 聚合函数
    • 2.4 聚合查询
    • 2.5 分组查询
    • 2.6 排序查询
    • 2.7 分页查询
    • 2.8 综合案例练习
    • 2.9 执行顺序
  • 3. DQL总结

DCL


更多数据库MySQL系统内容就在以下专栏:
专栏链接:数据库MySQL


1. 基本介绍

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。

2. 语法

在这里插入图片描述

2.1 基础查询

基本语法:

  1. 查询多个字段
SELECT 字段1, 字段2,...FROM 表名;
SELECT * FROM 表名;
  1. 设置别名
SELECT 字段1[AS 别名1], 字段2[AS 别名2],...FROM 表名;

注意:

as 可以省略

  1. 去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;

创建一个emp表


mysql> 
mysql> create table emp(-> id int comment '编号',-> workno varchar(10) comment '工号',-> name varchar(10) comment '姓名', -> gender char(1) comment '性别', -> age tinyint unsigned comment '年龄', -> idcard char(18) comment '身份证号',-> workaddress varchar(50) comment '工作地址',-> entrydate date comment '入职时间'-> ) comment '员工表';
Query OK, 0 rows affected (0.03 sec)mysql> 
mysql> 
mysql> show tables;
+------------------+
| Tables_in_itcast |
+------------------+
| emp              |
| student          |
+------------------+
2 rows in set (0.04 sec)mysql> 

添加16组数据

mysql> 
mysql> insert into emp(id, workno, name, gender, age, idcard, workaddress, entrydate) values(1,'1', '柳岩', '女', 20, '123456789012345678', '北京', '2001-01-01'), (2,'2', '张无忌', '男', 18, '123456789012345671', '北京', '2002-02-02'),(3,'3', '韦一笑', '男', 38, '123456789012345672', '上海', '2003-03-03'),(4,'4', '赵敏', '女', 18, '123456789012345673', '北京', '2004-04-04'),(5,'5', '小昭', '女', 16, '123456789012345674', '上海', '2005-05-05'),(6,'6', '杨逍', '男', 28, '123456789012345675', '北京', '2006-01-01'), (7,'7', '范瑶', '男', 40, '123456789012345676', '北京', '2007-01-01'),(8,'8', '黛绮丝', '女', 38, '123456789012345678', '天津', '2008-01-01'), (9,'9', '范冰冰', '女', 45, '123456789012345679', '北京', '2009-01-01'), (10,'10', '陈友谅', '男', 53, '223456789012345676', '上海', '2017-01-01'),-> (11,'11', '张士诚', '男', 55, '323456789012345676', '江苏', '2027-01-01'),-> (12,'12', '常遇春', '男', 32, '423456789012345676', '北京', '2037-01-01'),-> (13,'13', '张三丰', '男', 88, '523456789012345676', '江苏', '2047-01-01'),-> (14,'14', '灭绝', '女', 65, '623456789012345676', '西安', '2057-01-01'),-> (15,'15', '胡青牛', '男', 70, '723456789012345676', '西安', '2067-01-01'),-> (16,'16', '周芷若', '女', 18, null, '北京', '2077-01-01'); 
Query OK, 16 rows affected (0.01 sec)
Records: 16  Duplicates: 0  Warnings: 0
mysql> 
mysql> select * from emp;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 16 | 16     | 周芷若 ||  18 | null               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
16 rows in set (0.10 sec)mysql> 

案例1:

查询指定字段 name, workno, age 返回

示例代码:

mysql> 
mysql> select name, workno, age from emp;
+--------+--------+-----+
| name   | workno | age |
+--------+--------+-----+
| 柳岩   | 1      |  20 |
| 张无忌 | 2      |  18 |
| 韦一笑 | 3      |  38 |
| 赵敏   | 4      |  18 |
| 小昭   | 5      |  16 |
| 杨逍   | 6      |  28 |
| 范瑶   | 7      |  40 |
| 黛绮丝 | 8      |  38 |
| 范冰冰 | 9      |  45 |
| 陈友谅 | 10     |  53 |
| 张士诚 | 11     |  55 |
| 常遇春 | 12     |  32 |
| 张三丰 | 13     |  88 |
| 灭绝   | 14     |  65 |
| 胡青牛 | 15     |  70 |
| 周芷若 | 16     |  18 |
+--------+--------+-----+
16 rows in set (0.10 sec)mysql> 

案例2:

查询所有字段返回

示例代码:

mysql> 
mysql> select id, workno, name, gender, age, idcard, workaddress, entrydate from emp;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 16 | 16     | 周芷若 ||  18 | null               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
16 rows in set (0.11 sec)mysql> 

或者

mysql> 
mysql> select * from emp;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 16 | 16     | 周芷若 ||  18 | null               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
16 rows in set (0.12 sec)mysql> 

案例3:

查询所有员工的工作地址,起别名

示例代码:

mysql> 
mysql> select workaddress as '工作地址' from emp;
+----------+
| 工作地址 |
+----------+
| 北京     |
| 北京     |
| 上海     |
| 北京     |
| 上海     |
| 北京     |
| 北京     |
| 天津     |
| 北京     |
| 上海     |
| 江苏     |
| 北京     |
| 江苏     |
| 西安     |
| 西安     |
| 北京     |
+----------+
16 rows in set (0.12 sec)mysql> 

或者

mysql> 
mysql> select workaddress '工作地址' from emp;
+----------+
| 工作地址 |
+----------+
| 北京     |
| 北京     |
| 上海     |
| 北京     |
| 上海     |
| 北京     |
| 北京     |
| 天津     |
| 北京     |
| 上海     |
| 江苏     |
| 北京     |
| 江苏     |
| 西安     |
| 西安     |
| 北京     |
+----------+
16 rows in set (0.11 sec)mysql> 

案例4:

查询公司员工的上班地址(不要重复)

示例代码:

mysql> 
mysql> select distinct workaddress  '工作地址' from emp;
+----------+
| 工作地址 |
+----------+
| 北京     |
| 上海     |
| 天津     |
| 江苏     |
| 西安     |
+----------+
5 rows in set (0.09 sec)mysql> 

2.2 条件查询

基本语法:

SELECT 字段列表 FROM 表名 WHERE 条件列表;

条件:
在这里插入图片描述
在这里插入图片描述


案例1:

查询年龄等于88的员工。

mysql> 
mysql> select * from emp where age=88;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
1 row in set (0.04 sec)mysql> 

案例2:

查询年龄小于20的员工信息

mysql> 
mysql> select * from emp where age<20;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
| 16 | 16     | 周芷若 ||  18 | null               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
4 rows in set (0.04 sec)mysql> 

案例3:

查询年龄小于等于20的员工信息

mysql> 
mysql> select * from emp where age<=20;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
| 16 | 16     | 周芷若 ||  18 | null               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
5 rows in set (0.04 sec)mysql> 

案例4:

查询没有身份证号的员工信息

mysql> 
mysql> select * from emp where idcard is null;
+----+--------+--------+--------+-----+--------+-------------+------------+
| id | workno | name   | gender | age | idcard | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------+-------------+------------+
| 16 | 16     | 周芷若 ||  18 | NULL   | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------+-------------+------------+
1 row in set (0.07 sec)mysql> 

案例5:

查询有身份证号的员工信息

mysql> 
mysql> select * from emp where idcard is not null;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
15 rows in set (0.08 sec)mysql> 

案例6:

查询年龄不等于88的员工信息

mysql> 
mysql> select * from emp where age!=88;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
15 rows in set (0.08 sec)mysql> 

或者

mysql> 
mysql> select * from emp where age <> 88;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
15 rows in set (0.05 sec)mysql> 

案例7:

查询年龄在15岁(包含)到20岁(包含)之间的员工信息

mysql> 
mysql> select * from emp where age >=15 && age <=20;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
5 rows in set (0.05 sec)mysql> 

或者

mysql> 
mysql> select * from emp where age>=12 and age<=20;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
5 rows in set (0.05 sec)mysql> 

或者

mysql> 
mysql> select * from emp where age between 15 and 20;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
5 rows in set (0.05 sec)mysql>

案例8:

查询性别为 女 且年龄小于25岁的员工信息

mysql> 
mysql> select * from emp where gender = '女' and age <25;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
4 rows in set (0.05 sec)mysql> 

案例9:

查询年龄等于18 或 20 或40 的员工信息

mysql> 
mysql> select * from emp where age = 18 || age =20 || age = 40;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
5 rows in set (0.04 sec)mysql> 

或者:

mysql> 
mysql> select * from emp where age = 18 or age = 20 or age = 40;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
5 rows in set (0.05 sec)mysql> 

或者:

mysql> 
mysql> select * from emp where age in(18, 20,40);
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
5 rows in set (0.05 sec)mysql> 

案例10:

查询姓名为两个字的员工信息

mysql> 
mysql> select * from emp where name like '__';
+----+--------+------+--------+-----+--------------------+-------------+------------+
| id | workno | name | gender | age | idcard             | workaddress | entrydate  |
+----+--------+------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩 ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  4 | 4      | 赵敏 ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭 ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍 ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶 ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
| 14 | 14     | 灭绝 ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
+----+--------+------+--------+-----+--------------------+-------------+------------+
6 rows in set (0.04 sec)mysql> 

案例11:

mysql> 
mysql> select * from emp where idcard like '%x';
Empty setmysql> 

或者:

mysql> select * from emp where idcard like '_________________x';
Empty setmysql> 

2.3 聚合函数

基本介绍:
将一列数据作为一个整体,进行纵向计算。

常见聚合函数:

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

2.4 聚合查询

基本语法:

SELECT 聚合函数(字段列表)FROM 表名;

注意:
使用聚合函数进行计算时,所有的null值不参与计算。


案例1:

统计该企业员工数量

mysql> 
mysql> select count(*) from emp;
+----------+
| count(*) |
+----------+
|       16 |
+----------+
1 row in set (0.03 sec)mysql> 

案例2:

统计该企业员工的平均年龄

mysql> 
mysql> select avg(age) from emp;
+----------+
| avg(age) |
+----------+
| 40.1250  |
+----------+
1 row in set (0.03 sec)mysql> 

案例3:

统计该企业员工的最大年龄

mysql> select max(age) from emp;
+----------+
| max(age) |
+----------+
|       88 |
+----------+
1 row in set (0.03 sec)mysql> 

案例4:

统计该企业员工的最小年龄

mysql> 
mysql> select min(age) from emp;
+----------+
| min(age) |
+----------+
|       16 |
+----------+
1 row in set (0.03 sec)mysql> 

案例5:

统计西安地区员工的年龄之和

mysql> 
mysql> select sum(age) from emp where workaddress = '西安';
+----------+
| sum(age) |
+----------+
| 135      |
+----------+
1 row in set (0.04 sec)mysql> 

2.5 分组查询

基本语法:

SELECT 字段列表FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件]

where与having的区别:

  • 执行时机不同:where是分组之前进行过滤,不满足where条件的,不参与分组;而having是分组之后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

注意:

  • 执行顺序:where> 聚合函数> having
  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段并无任何意义。

案例1:

根据性别分组,统计 男性员工 和 女性员工的数量。

mysql> 
mysql> select gender, count(*) from emp group by gender;
+--------+----------+
| gender | count(*) |
+--------+----------+
||        7 |
||        9 |
+--------+----------+
2 rows in set (0.05 sec)mysql> 

案例2:

根据性别分组,统计男性员工 和 女性员工的平均年龄

mysql> 
mysql> select gender, avg(age) from emp group by gender;
+--------+----------+
| gender | avg(age) |
+--------+----------+
|| 31.4286  |
|| 46.8889  |
+--------+----------+
2 rows in set (0.05 sec)mysql> 

案例3:

查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址。

mysql> 
mysql> select workaddress, count(*) from emp where age<45 group by workaddress having count(*) >= 3;
+-------------+----------+
| workaddress | count(*) |
+-------------+----------+
| 北京        |        7 |
+-------------+----------+
1 row in set (0.04 sec)mysql> 

2.6 排序查询

** 基本语法:**

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;

排序方式:

ASC : 升序(默认值)
DESC:降序

注意:

如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。


案例1:

根据年龄对公司的员工进行升序排序

mysql> 
mysql> select name, age from emp order by age asc;
+--------+-----+
| name   | age |
+--------+-----+
| 小昭   |  16 |
| 张无忌 |  18 |
| 赵敏   |  18 |
| 周芷若 |  18 |
| 柳岩   |  20 |
| 杨逍   |  28 |
| 常遇春 |  32 |
| 韦一笑 |  38 |
| 黛绮丝 |  38 |
| 范瑶   |  40 |
| 范冰冰 |  45 |
| 陈友谅 |  53 |
| 张士诚 |  55 |
| 灭绝   |  65 |
| 胡青牛 |  70 |
| 张三丰 |  88 |
+--------+-----+
16 rows in set (0.04 sec)mysql> 

案例2:

根据入职时间,对员工进行降序排序

mysql> 
mysql> select * from emp order by entrydate desc;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
16 rows in set (0.05 sec)mysql> 

案例3:

根据年龄对公司的员工进行升序排序,年龄相同,再按照入职时间进行降序排序

mysql> 
mysql> select * from emp order by age asc, entrydate desc;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
16 rows in set (0.07 sec)mysql> 

2.7 分页查询

在这里插入图片描述

基本语法:

SELECT 字段列表 FROM 表名LIMIT 起始索引, 查询记录数;

注意:

  • 起始索引从0开始,起始索引 = (查询页码-1) * 每页显示记录数
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT
  • 如果查询的是第一页数据,其实索引可以忽略,直接简写为limit 10

案例1:

查询第一页员工数据,每页展示10条记录

mysql> 
mysql> select * from emp limit 0, 10;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
10 rows in set (0.05 sec)mysql> 

或者:

mysql> 
mysql> select * from emp limit 10;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩   ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
|  2 | 2      | 张无忌 ||  18 | 123456789012345671 | 北京        | 2002-02-02 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
|  4 | 4      | 赵敏   ||  18 | 123456789012345673 | 北京        | 2004-04-04 |
|  5 | 5      | 小昭   ||  16 | 123456789012345674 | 上海        | 2005-05-05 |
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
|  7 | 7      | 范瑶   ||  40 | 123456789012345676 | 北京        | 2007-01-01 |
|  8 | 8      | 黛绮丝 ||  38 | 123456789012345678 | 天津        | 2008-01-01 |
|  9 | 9      | 范冰冰 ||  45 | 123456789012345679 | 北京        | 2009-01-01 |
| 10 | 10     | 陈友谅 ||  53 | 223456789012345676 | 上海        | 2017-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
10 rows in set (0.05 sec)mysql>

案例2:

查询第二页员工数据,每页展示10条记录

mysql> 
mysql> select * from emp limit 10, 10;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| 11 | 11     | 张士诚 ||  55 | 323456789012345676 | 江苏        | 2027-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
| 13 | 13     | 张三丰 ||  88 | 523456789012345676 | 江苏        | 2047-01-01 |
| 14 | 14     | 灭绝   ||  65 | 623456789012345676 | 西安        | 2057-01-01 |
| 15 | 15     | 胡青牛 ||  70 | 723456789012345676 | 西安        | 2067-01-01 |
| 16 | 16     | 周芷若 ||  18 | NULL               | 北京        | 2077-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
6 rows in set (0.07 sec)mysql> 

2.8 综合案例练习

案例1:

查询年龄为20, 21, 22, 23的员工信息。

mysql> 
mysql> select * from emp where gender = '女' and age = 20 or age = 20 or age = 21 or age = 22 or age = 23;
+----+--------+------+--------+-----+--------------------+-------------+------------+
| id | workno | name | gender | age | idcard             | workaddress | entrydate  |
+----+--------+------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩 ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
+----+--------+------+--------+-----+--------------------+-------------+------------+
1 row in set (0.05 sec)mysql> 

或者:

mysql> 
mysql> select * from emp where gender = '女' and age in(20, 21, 22, 23);
+----+--------+------+--------+-----+--------------------+-------------+------------+
| id | workno | name | gender | age | idcard             | workaddress | entrydate  |
+----+--------+------+--------+-----+--------------------+-------------+------------+
|  1 | 1      | 柳岩 ||  20 | 123456789012345678 | 北京        | 2001-01-01 |
+----+--------+------+--------+-----+--------------------+-------------+------------+
1 row in set (0.04 sec)mysql> 

案例2:

查询性别为男,并且年龄在 20-40 (含)以内的,姓名为三个字的员工

mysql> 
mysql> select * from emp where gender = '男' and age >= 20 and age <= 40 and name like '___';
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
2 rows in set (0.05 sec)mysql> 

或者:

mysql> 
mysql> select * from emp where gender = '男' and age between 20 and 40 and name like '___';
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
2 rows in set (0.05 sec)mysql> 

案例3:

统计员工表中,年龄小于60岁的,男性员工和女性员工的人数

mysql> 
mysql> select gender, count(*) from emp where age < 60 group by gender;
+--------+----------+
| gender | count(*) |
+--------+----------+
||        6 |
||        7 |
+--------+----------+
2 rows in set (0.05 sec)mysql> 

案例4:

查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按照年龄升序排序,如果年龄相同按入职时间降序排序

mysql> 
mysql> select name, age from emp where age <= 35 order by age asc, entrydate desc; 
+--------+-----+
| name   | age |
+--------+-----+
| 小昭   |  16 |
| 周芷若 |  18 |
| 赵敏   |  18 |
| 张无忌 |  18 |
| 柳岩   |  20 |
| 杨逍   |  28 |
| 常遇春 |  32 |
+--------+-----+
7 rows in set (0.04 sec)mysql> 

案例5:

查询性别为男,且年龄在20-40(含)以内的前3个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。

mysql> 
mysql> select * from emp where gender = '男' and age between 20 and 40 order by age asc, entrydate asc limit 0, 3;
+----+--------+--------+--------+-----+--------------------+-------------+------------+
| id | workno | name   | gender | age | idcard             | workaddress | entrydate  |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
|  6 | 6      | 杨逍   ||  28 | 123456789012345675 | 北京        | 2006-01-01 |
| 12 | 12     | 常遇春 ||  32 | 423456789012345676 | 北京        | 2037-01-01 |
|  3 | 3      | 韦一笑 ||  38 | 123456789012345672 | 上海        | 2003-03-03 |
+----+--------+--------+--------+-----+--------------------+-------------+------------+
3 rows in set (0.05 sec)mysql> 

2.9 执行顺序

执行顺序:
在这里插入图片描述

上面我们介绍是编写顺序 , 并不是执行顺序。

执行顺序:

在这里插入图片描述
验证执行顺序:

mysql> select name, age from emp e where age > 15 order by age asc;
+--------+-----+
| name   | age |
+--------+-----+
| 小昭   |  16 |
| 张无忌 |  18 |
| 赵敏   |  18 |
| 周芷若 |  18 |
| 柳岩   |  20 |
| 杨逍   |  28 |
| 常遇春 |  32 |
| 韦一笑 |  38 |
| 黛绮丝 |  38 |
| 范瑶   |  40 |
| 范冰冰 |  45 |
| 陈友谅 |  53 |
| 张士诚 |  55 |
| 灭绝   |  65 |
| 胡青牛 |  70 |
| 张三丰 |  88 |
+--------+-----+
16 rows in set (0.10 sec)mysql> 

思路:
我们给emp这个表起了一个别名e ,如果执行顺序是from—> where—>group by—> having —> select,那么我们在用e来访问name,age 就不会报错。
在这里插入图片描述

mysql> 
mysql> select e.name, e.age from emp  e where e.age > 15 order by age asc; 
+--------+-----+
| name   | age |
+--------+-----+
| 小昭   |  16 |
| 张无忌 |  18 |
| 赵敏   |  18 |
| 周芷若 |  18 |
| 柳岩   |  20 |
| 杨逍   |  28 |
| 常遇春 |  32 |
| 韦一笑 |  38 |
| 黛绮丝 |  38 |
| 范瑶   |  40 |
| 范冰冰 |  45 |
| 陈友谅 |  53 |
| 张士诚 |  55 |
| 灭绝   |  65 |
| 胡青牛 |  70 |
| 张三丰 |  88 |
+--------+-----+
16 rows in set (0.10 sec)mysql> 

那反过来,如果给select中的name 和 age 起一个别名,用这个别名去访问order by 中的age 或者区访问where中的age均会报错。
在这里插入图片描述

mysql> 
mysql> select e.name ename, e.age eage from emp  e where eage > 15 order by eage asc; 
1054 - Unknown column 'eage' in 'where clause'
mysql> 

3. DQL总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GLM-4-9B性能究竟如何?

GLM-4-9B 开源系列模型 前言 自 2023 年 3 月 14 日 ChatGLM-6B 开源以来&#xff0c;GLM 系列模型受到广泛认可。特别是在 ChatGLM3-6B 开源后&#xff0c;针对让小模型能够拥有更为强大的能力这一目标&#xff0c;GLM 技术团队展开了诸多的探索性工作。历经将近半年的探索历程…

风机5G智能制造工厂工业物联数字孪生平台,推进制造业数字化转型

风机5G智能制造工厂工业物联数字孪生平台&#xff0c;推进制造业数字化转型。在信息化、智能化的浪潮中&#xff0c;风机5G智能制造工厂工业物联数字孪生平台正以其独特的优势&#xff0c;推动制造业实现数字化转型。数字孪生平台不仅为风机制造业带来了前所未有的机遇&#xf…

计算机图形学入门06:视口变换

在前面的内容中&#xff0c;在MVP变换(模型变换&#xff0c;视图变换&#xff0c;投影变换)完后&#xff0c;所有的物体位置都变换到了[-1, 1]的标准立方体里&#xff0c;下一步要把物体绘制到屏幕(Screen)上。 1.什么是屏幕&#xff1f; 对于图形学来说把屏幕抽象的认为是一个…

mac Network: use --host to expose

本地启动无法访问&#xff0c;这个不是权限问题是mac 主机端口安全策略&#xff0c;现在我们只需要开启端口自动检测就可以 npm run dev --host 网络&#xff1a;未暴露 方案一 1、执行 npm run dev -- --host 方案二 1、请在 vite.config.js server: {host: true } 1…

给快高考的儿子的一封信:关于选择计算机专业

亲爱的儿子&#xff0c; 你好&#xff01; 时间过得真快&#xff0c;转眼间你就要高考了&#xff0c;这不仅是你人生中的一个重要时刻&#xff0c;也是我们全家都非常关注的节点。妈妈告诉我&#xff0c;你对计算机专业很感兴趣&#xff0c;希望我能给你一些建议。我很高兴听…

使用手机小程序给证件照换底色

临时遇到一个需求&#xff0c;需要给证件照换底色。原始图像如下 最终需要换成红底的。 本次使用一款小程序&#xff02;泰世茂证件照&#xff02;&#xff0c;打开该小程序&#xff0c;如下图所示 单击开始制作&#xff0c;然后选择二寸红底&#xff0c;如下图所示 然后单击相…

逗拍短视频:成都鼎茂宏升文化传媒公司

逗拍短视频&#xff1a;欢乐瞬间的创意呈现 在当下这个快节奏、信息化的时代&#xff0c;逗拍短视频以其独特的魅力&#xff0c;成为了人们生活中不可或缺的一部分。成都鼎茂宏升文化传媒公司它以其简短、有趣、富有创意的特点&#xff0c;迅速俘获了广大网友的心&#xff0c;…

Docker高级篇之安装Redis集群(分布式存储案例)

文章目录 1. 案例场景2. 3主3从redis集群扩缩容配置案例架构说明3. 3主3从redis集群扩缩容配置案例搭建4. 主从容错切换迁移案例5. 主从扩容6. 主从缩容 1. 案例场景 1&#xff5e;2亿条数据需要缓存&#xff0c;如何设计这个存储案例&#xff1f;这种情况下单机存储100%是不可…

社区待就业人员信息管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;工作岗位管理&#xff0c;基础数据管理&#xff0c;预约面试管理&#xff0c;就业信息管理&#xff0c;公告信息管理 社区工作账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户…

做自媒体素材哪里找?做自媒体必备的几个高质量素材网站分享

在自媒体的世界里&#xff0c;内容是王道。无论是视频还是文章&#xff0c;优秀的自媒体作品都需要有力的内容和高质量的素材作支撑。今天&#xff0c;我为大家整理了一些优质的素材网站&#xff0c;帮助每一位自媒体创作者&#xff0c;无论新手还是老手&#xff0c;都能找到适…

文件夹如何加密码?这4个文件夹加密方法值得一试!

文件夹如何加密码&#xff1f;在与朋友、家人和同事共享同一电脑计算机时&#xff0c;您可能有一些不希望他们查看的重要或机密文件。那么如何避免这种情况呢&#xff1f;使用密码保护锁定文件和文件夹可以提高你的数字隐私和安全性&#xff0c;因为这意味着你需要输入密码才能…

每天CTF小练一点--ctfshow年CTF

初一 题目&#xff1a; 2023是兔年&#xff0c;密码也是。聪明的小伙伴们&#xff0c;你能破解出下面的密码吗&#xff1f; 感谢大菜鸡师傅出题 flag格式是ctfshow{xxxxxx}.或许密码也有密码。 密文是&#xff1a; U2FsdGVkX1M7duRffUvQgJlESPfOTV2i4TJpc9YybgZ9ONmPk/RJje …

修复Windows上“发生意外错误”问题的5种方法,总有一种适合你

在尝试启动网络适配器的设置菜单时,是否收到“发生意外错误”消息?不用担心,因为在大多数情况下解决这个问题很容易。我们将向你展示在Windows 11或Windows 10计算机上解决此问题的多种方法。 为什么我收到“发生意外错误”的消息 当网络适配器出现问题时,Windows会显示一…

老师评职称三证不一致怎么办

对于老师们来说&#xff0c;职称评定无疑是一个重要环节&#xff0c;不仅关系到教师的个人荣誉&#xff0c;更关系到职业发展和薪酬待遇。然而&#xff0c;当遇到教师资格证、任职资格证上的学科与实际所教学科不一致时&#xff0c;职称评定之路似乎变得崎岖不平。面对这样的困…

作业-day-240605

思维导图 C编程 设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重 再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1 设计这两个类的构造函数、析构函数。 #include <iostream>using namespace std;class Per{ private:str…

Science项目文章 | 中国农科院作科所研究团队解析“复粒稻”多粒簇生的机制

2024年3月8日&#xff0c;由中国农业科学院作物科学研究所童红宁研究员领衔的研究团队在Science发表题为“Enhancing rice panicle branching and grain yield through tissue-specific brassinosteroid inhibition”的研究论文。该研究报道了复粒稻多粒簇形成的机制&#xff0…

用单链表实现集合

一、实验题目 &#xff08;1&#xff09;实验题目 用单链表实现集合 &#xff08;2&#xff09;问题描述 用有序单链表实现集合的判等、交、并和差等基本运算。 二、实验内容 &#xff08;1&#xff09;采用有序单链表存储集合&#xff1b; &#xff08;2&#xff09;实现交…

实时监控与报警:人员跌倒检测算法的实践

在全球范围内&#xff0c;跌倒事件对老年人和儿童的健康与安全构成了重大威胁。据统计&#xff0c;跌倒是老年人意外伤害和死亡的主要原因之一。开发人员跌倒检测算法的目的是通过技术手段及时发现和响应跌倒事件&#xff0c;减少因延迟救助而造成的严重后果。这不仅对老年人群…

SpringBoot: 读取项目的Git版本号

在开发项目的时候&#xff0c;我们经常会想要拿到线上运行的程序版本&#xff0c;以确定程序是否正确发布。Spring Boot提供了这样的能力支持。这个能力的核心组件是3个: Maven插件git-commit-id-maven-plugin&#xff0c;用于生成.properties文件&#xff0c;里边包含git的各…

项目部署服务器--浏览器拒绝访问问题

一、检查自己的环境 是本地环境、还是虚拟环境 当您使用 Gunicorn 启动 Flask 应用并监听 0.0.0.0:5000 时&#xff0c;您的 Flask 应用已经可以在服务器上运行并通过该端口提供服务了。但是&#xff0c;0.0.0.0 是一个特殊的 IP 地址&#xff0c;它表示“所有可用的网络接口”…