【十一】【SQL】外连接(左外连接,右外连接)

数据库中的外连接(Outer Join)用于连接两个表,并包括两个表中的匹配行以及左表(LEFT JOIN)或右表(RIGHT JOIN)中未匹配的行。外连接分为两种主要类型:

左外连接(LEFT OUTER JOIN):返回左表(FROM子句中第一个表)的所有行,即使在右表中没有匹配的行。如果右表中没有匹配的行,则结果集中右表的部分将包含NULL值。

右外连接(RIGHT OUTER JOIN):返回右表(JOIN子句中指定的表)的所有行,即使在左表中没有匹配的行。如果左表中没有匹配的行,则结果集中左表的部分将包含NULL值。

表的初始化

 
mysql> create table stu (id int ,name varchar(30));
Query OK, 0 rows affected (0.02 sec)mysql> desc stu;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)mysql> insert into stu values(1,'Jack'),(2,'Tom'),(3,'Kity'),(4,'Nono');
Query OK, 4 rows affected (0.01 sec)
Records: 4  Duplicates: 0  Warnings: 0mysql> select*from stu;
+------+------+
| id   | name |
+------+------+
|    1 | Jack |
|    2 | Tom  |
|    3 | Kity |
|    4 | Nono |
+------+------+
4 rows in set (0.00 sec)mysql> create table exam (id int ,grade int );
Query OK, 0 rows affected (0.02 sec)mysql> desc exam;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
| grade | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)mysql> insert into exam values(1,56),(2,76),(11,82);
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> select*from exam;
+------+-------+
| id   | grade |
+------+-------+
|    1 |    56 |
|    2 |    76 |
|   11 |    82 |
+------+-------+
3 rows in set (0.00 sec)mysql> 

查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来

 
mysql> select *from stu;
+------+------+
| id   | name |
+------+------+
|    1 | Jack |
|    2 | Tom  |
|    3 | Kity |
|    4 | Nono |
+------+------+
4 rows in set (0.00 sec)mysql> select *from exam;
+------+-------+
| id   | grade |
+------+-------+
|    1 |    56 |
|    2 |    76 |
|   11 |    82 |
+------+-------+
3 rows in set (0.00 sec)mysql> select *from stu left join exam on stu.id=exam.id;
+------+------+------+-------+
| id   | name | id   | grade |
+------+------+------+-------+
|    1 | Jack |    1 |    56 |
|    2 | Tom  |    2 |    76 |
|    3 | Kity | NULL |  NULL |
|    4 | Nono | NULL |  NULL |
+------+------+------+-------+
4 rows in set (0.00 sec)mysql> select *from stu inner join exam on stu.id=exam.id;
+------+------+------+-------+
| id   | name | id   | grade |
+------+------+------+-------+
|    1 | Jack |    1 |    56 |
|    2 | Tom  |    2 |    76 |
+------+------+------+-------+
2 rows in set (0.00 sec)mysql> 

左外连接(LEFT JOIN)的查询结果显示了stu表中所有的学生,包括那些在exam表中没有成绩的学生。对于没有成绩的学生(如Kity和Nono),成绩列(grade)显示为NULL。这说明左外连接包括了左表(stu)的所有行,如果右表(exam)中没有匹配的行,则相关列填充NULL

内连接(INNER JOIN)的查询结果仅显示了那些在stu表和exam表中都有记录的学生。这意味着只有那些既在学生表中也在成绩表中有对应记录的学生才会被显示出来。例如,Jack和Tom的记录被显示了出来,因为他们在两个表中都有对应的记录。而Kity和Nono没有在exam表中的对应记录,所以他们不在查询结果中。

总结来说,外连接(特别是左外连接)用于查询主表(LEFT JOIN左侧的表)中的所有记录,并尝试匹配外表(右侧的表)中的记录。如果外表中没有匹配的记录,则结果集中对应的列会被填充NULL。内连接(INNER JOIN)则仅返回两个表中都有匹配的记录。这些特性使得外连接和内连接在数据查询中各有适用的场景。

对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与之对应,也要显示出来

 
mysql> select*from stu right join exam on stu.id =exam.id;
+------+------+------+-------+
| id   | name | id   | grade |
+------+------+------+-------+
|    1 | Jack |    1 |    56 |
|    2 | Tom  |    2 |    76 |
| NULL | NULL |   11 |    82 |
+------+------+------+-------+
3 rows in set (0.00 sec)mysql> select *from exam left join stu on stu.id=exam.id;
+------+-------+------+------+
| id   | grade | id   | name |
+------+-------+------+------+
|    1 |    56 |    1 | Jack |
|    2 |    76 |    2 | Tom  |
|   11 |    82 | NULL | NULL |
+------+-------+------+------+
3 rows in set (0.01 sec)mysql> 

右外连接(RIGHT JOIN)的查询结果展示了exam表中所有的记录,包括那些在stu表中没有对应id的记录。在这个例子中,学生id为11的记录在stu表中没有对应的条目,因此name列显示为NULL。这表明右外连接包括了右表(exam)的所有行,如果左表(stu)中没有匹配的行,则相关列填充NULL

左外连接(LEFT JOIN)的查询结果与右外连接的查询相反,显示了exam表中所有记录的另一种方式,同时尝试匹配stu表中的记录。与右外连接的结果相同,学生id为11的记录在stu表中没有匹配,导致name列为NULL

这两个查询展示了外连接的互补性质:

右外连接(RIGHT JOIN)强调了右侧表(在ON关键字右边的表,本例中为exam)的所有行,即使左侧表(stu)中没有匹配的行。

左外连接(LEFT JOIN)强调了左侧表(在ON关键字左边的表,本例中为exam,由于查询的书写方式,实际操作作为左侧表处理)的所有行,即使右侧表(stu)中没有匹配的行。

列出部门名称和这些部门的员工信息,同时列出没有员工的部门

 
mysql> select *from emp;
+--------+--------+-----------+------+---------------------+---------+---------+--------+
| empno  | ename  | job       | mgr  | hiredate            | sal     | comm    | deptno |
+--------+--------+-----------+------+---------------------+---------+---------+--------+
| 007369 | SMITH  | CLERK     | 7902 | 1980-12-17 00:00:00 |  800.00 |    NULL |     20 |
| 007499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 00:00:00 | 1600.00 |  300.00 |     30 |
| 007521 | WARD   | SALESMAN  | 7698 | 1981-02-22 00:00:00 | 1250.00 |  500.00 |     30 |
| 007566 | JONES  | MANAGER   | 7839 | 1981-04-02 00:00:00 | 2975.00 |    NULL |     20 |
| 007654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 00:00:00 | 1250.00 | 1400.00 |     30 |
| 007698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 00:00:00 | 2850.00 |    NULL |     30 |
| 007782 | CLARK  | MANAGER   | 7839 | 1981-06-09 00:00:00 | 2450.00 |    NULL |     10 |
| 007788 | SCOTT  | ANALYST   | 7566 | 1987-04-19 00:00:00 | 3000.00 |    NULL |     20 |
| 007839 | KING   | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000.00 |    NULL |     10 |
| 007844 | TURNER | SALESMAN  | 7698 | 1981-09-08 00:00:00 | 1500.00 |    0.00 |     30 |
| 007876 | ADAMS  | CLERK     | 7788 | 1987-05-23 00:00:00 | 1100.00 |    NULL |     20 |
| 007900 | JAMES  | CLERK     | 7698 | 1981-12-03 00:00:00 |  950.00 |    NULL |     30 |
| 007902 | FORD   | ANALYST   | 7566 | 1981-12-03 00:00:00 | 3000.00 |    NULL |     20 |
| 007934 | MILLER | CLERK     | 7782 | 1982-01-23 00:00:00 | 1300.00 |    NULL |     10 |
+--------+--------+-----------+------+---------------------+---------+---------+--------+
14 rows in set (0.00 sec)mysql> select distinct deptno from emp;
+--------+
| deptno |
+--------+
|     20 |
|     30 |
|     10 |
+--------+
3 rows in set (0.00 sec)mysql> select*from dept;
+--------+------------+----------+
| deptno | dname      | loc      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
|     30 | SALES      | CHICAGO  |
|     40 | OPERATIONS | BOSTON   |
+--------+------------+----------+
4 rows in set (0.00 sec)mysql> select * from dept left join emp on dept.deptno=emp.deptno;
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
| deptno | dname      | loc      | empno  | ename  | job       | mgr  | hiredate            | sal     | comm    | deptno |
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
|     20 | RESEARCH   | DALLAS   | 007369 | SMITH  | CLERK     | 7902 | 1980-12-17 00:00:00 |  800.00 |    NULL |     20 |
|     30 | SALES      | CHICAGO  | 007499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 00:00:00 | 1600.00 |  300.00 |     30 |
|     30 | SALES      | CHICAGO  | 007521 | WARD   | SALESMAN  | 7698 | 1981-02-22 00:00:00 | 1250.00 |  500.00 |     30 |
|     20 | RESEARCH   | DALLAS   | 007566 | JONES  | MANAGER   | 7839 | 1981-04-02 00:00:00 | 2975.00 |    NULL |     20 |
|     30 | SALES      | CHICAGO  | 007654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 00:00:00 | 1250.00 | 1400.00 |     30 |
|     30 | SALES      | CHICAGO  | 007698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 00:00:00 | 2850.00 |    NULL |     30 |
|     10 | ACCOUNTING | NEW YORK | 007782 | CLARK  | MANAGER   | 7839 | 1981-06-09 00:00:00 | 2450.00 |    NULL |     10 |
|     20 | RESEARCH   | DALLAS   | 007788 | SCOTT  | ANALYST   | 7566 | 1987-04-19 00:00:00 | 3000.00 |    NULL |     20 |
|     10 | ACCOUNTING | NEW YORK | 007839 | KING   | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000.00 |    NULL |     10 |
|     30 | SALES      | CHICAGO  | 007844 | TURNER | SALESMAN  | 7698 | 1981-09-08 00:00:00 | 1500.00 |    0.00 |     30 |
|     20 | RESEARCH   | DALLAS   | 007876 | ADAMS  | CLERK     | 7788 | 1987-05-23 00:00:00 | 1100.00 |    NULL |     20 |
|     30 | SALES      | CHICAGO  | 007900 | JAMES  | CLERK     | 7698 | 1981-12-03 00:00:00 |  950.00 |    NULL |     30 |
|     20 | RESEARCH   | DALLAS   | 007902 | FORD   | ANALYST   | 7566 | 1981-12-03 00:00:00 | 3000.00 |    NULL |     20 |
|     10 | ACCOUNTING | NEW YORK | 007934 | MILLER | CLERK     | 7782 | 1982-01-23 00:00:00 | 1300.00 |    NULL |     10 |
|     40 | OPERATIONS | BOSTON   |   NULL | NULL   | NULL      | NULL | NULL                |    NULL |    NULL |   NULL |
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
15 rows in set (0.00 sec)mysql> select * from dept left join emp on dept.deptno=emp.deptno order by dept.deptno desc;
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
| deptno | dname      | loc      | empno  | ename  | job       | mgr  | hiredate            | sal     | comm    | deptno |
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
|     40 | OPERATIONS | BOSTON   |   NULL | NULL   | NULL      | NULL | NULL                |    NULL |    NULL |   NULL |
|     30 | SALES      | CHICAGO  | 007900 | JAMES  | CLERK     | 7698 | 1981-12-03 00:00:00 |  950.00 |    NULL |     30 |
|     30 | SALES      | CHICAGO  | 007499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 00:00:00 | 1600.00 |  300.00 |     30 |
|     30 | SALES      | CHICAGO  | 007654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 00:00:00 | 1250.00 | 1400.00 |     30 |
|     30 | SALES      | CHICAGO  | 007844 | TURNER | SALESMAN  | 7698 | 1981-09-08 00:00:00 | 1500.00 |    0.00 |     30 |
|     30 | SALES      | CHICAGO  | 007521 | WARD   | SALESMAN  | 7698 | 1981-02-22 00:00:00 | 1250.00 |  500.00 |     30 |
|     30 | SALES      | CHICAGO  | 007698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 00:00:00 | 2850.00 |    NULL |     30 |
|     20 | RESEARCH   | DALLAS   | 007788 | SCOTT  | ANALYST   | 7566 | 1987-04-19 00:00:00 | 3000.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007876 | ADAMS  | CLERK     | 7788 | 1987-05-23 00:00:00 | 1100.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007369 | SMITH  | CLERK     | 7902 | 1980-12-17 00:00:00 |  800.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007566 | JONES  | MANAGER   | 7839 | 1981-04-02 00:00:00 | 2975.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007902 | FORD   | ANALYST   | 7566 | 1981-12-03 00:00:00 | 3000.00 |    NULL |     20 |
|     10 | ACCOUNTING | NEW YORK | 007934 | MILLER | CLERK     | 7782 | 1982-01-23 00:00:00 | 1300.00 |    NULL |     10 |
|     10 | ACCOUNTING | NEW YORK | 007782 | CLARK  | MANAGER   | 7839 | 1981-06-09 00:00:00 | 2450.00 |    NULL |     10 |
|     10 | ACCOUNTING | NEW YORK | 007839 | KING   | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000.00 |    NULL |     10 |
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
15 rows in set (0.00 sec)mysql> select * from dept left join emp on dept.deptno=emp.deptno order by dept.deptno asc;
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
| deptno | dname      | loc      | empno  | ename  | job       | mgr  | hiredate            | sal     | comm    | deptno |
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
|     10 | ACCOUNTING | NEW YORK | 007934 | MILLER | CLERK     | 7782 | 1982-01-23 00:00:00 | 1300.00 |    NULL |     10 |
|     10 | ACCOUNTING | NEW YORK | 007782 | CLARK  | MANAGER   | 7839 | 1981-06-09 00:00:00 | 2450.00 |    NULL |     10 |
|     10 | ACCOUNTING | NEW YORK | 007839 | KING   | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000.00 |    NULL |     10 |
|     20 | RESEARCH   | DALLAS   | 007788 | SCOTT  | ANALYST   | 7566 | 1987-04-19 00:00:00 | 3000.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007876 | ADAMS  | CLERK     | 7788 | 1987-05-23 00:00:00 | 1100.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007369 | SMITH  | CLERK     | 7902 | 1980-12-17 00:00:00 |  800.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007566 | JONES  | MANAGER   | 7839 | 1981-04-02 00:00:00 | 2975.00 |    NULL |     20 |
|     20 | RESEARCH   | DALLAS   | 007902 | FORD   | ANALYST   | 7566 | 1981-12-03 00:00:00 | 3000.00 |    NULL |     20 |
|     30 | SALES      | CHICAGO  | 007900 | JAMES  | CLERK     | 7698 | 1981-12-03 00:00:00 |  950.00 |    NULL |     30 |
|     30 | SALES      | CHICAGO  | 007499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 00:00:00 | 1600.00 |  300.00 |     30 |
|     30 | SALES      | CHICAGO  | 007654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 00:00:00 | 1250.00 | 1400.00 |     30 |
|     30 | SALES      | CHICAGO  | 007844 | TURNER | SALESMAN  | 7698 | 1981-09-08 00:00:00 | 1500.00 |    0.00 |     30 |
|     30 | SALES      | CHICAGO  | 007521 | WARD   | SALESMAN  | 7698 | 1981-02-22 00:00:00 | 1250.00 |  500.00 |     30 |
|     30 | SALES      | CHICAGO  | 007698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 00:00:00 | 2850.00 |    NULL |     30 |
|     40 | OPERATIONS | BOSTON   |   NULL | NULL   | NULL      | NULL | NULL                |    NULL |    NULL |   NULL |
+--------+------------+----------+--------+--------+-----------+------+---------------------+---------+---------+--------+
15 rows in set (0.00 sec)mysql> select dname,ename,dept.deptno from dept left join emp on dept.deptno=emp.deptno order by dept.deptno asc;
+------------+--------+--------+
| dname      | ename  | deptno |
+------------+--------+--------+
| ACCOUNTING | CLARK  |     10 |
| ACCOUNTING | MILLER |     10 |
| ACCOUNTING | KING   |     10 |
| RESEARCH   | FORD   |     20 |
| RESEARCH   | JONES  |     20 |
| RESEARCH   | SMITH  |     20 |
| RESEARCH   | ADAMS  |     20 |
| RESEARCH   | SCOTT  |     20 |
| SALES      | BLAKE  |     30 |
| SALES      | WARD   |     30 |
| SALES      | TURNER |     30 |
| SALES      | MARTIN |     30 |
| SALES      | ALLEN  |     30 |
| SALES      | JAMES  |     30 |
| OPERATIONS | NULL   |     40 |
+------------+--------+--------+
15 rows in set (0.00 sec)mysql> 

查询员工表 (emp) 和部门表 (dept):

select * from emp; 查询显示了emp表中所有的员工记录。

select * from dept; 查询显示了dept表中所有的部门记录。

使用DISTINCT关键字查询唯一的部门编号 (deptno):

select distinct deptno from emp; 查询从emp表中检索不重复的部门编号。这可以帮助了解有多少不同的部门拥有员工。

左外连接查询:

select * from dept left join emp on dept.deptno=emp.deptno; 这个查询使用左外连接来检索dept表中的所有部门记录以及与之匹配的emp表中的员工记录。如果某个部门没有员工,对应的员工字段将为NULL。这确保了即使某些部门没有员工,部门信息也会被检索出来。

根据部门编号 (deptno) 降序排序:

select * from dept left join emp on dept.deptno=emp.deptno order by dept.deptno desc; 这个查询不仅执行了左外连接,还按照部门编号降序排列了结果。

根据部门编号 (deptno) 升序排序:

select * from dept left join emp on dept.deptno=emp.deptno order by dept.deptno asc; 类似地,这个查询执行了左外连接,但是按照部门编号升序排列了结果。

选择特定字段进行展示:

select dname, ename, dept.deptno from dept left join emp on dept.deptno=emp.deptno order by dept.deptno asc; 这个查询选择了部门名称(dname)、员工名称(ename)和部门编号(dept.deptno)作为输出,并按部门编号升序排列。这样的查询有助于快速查看每个部门及其员工的概览。

结尾

最后,感谢您阅读我的文章,希望这些内容能够对您有所启发和帮助。如果您有任何问题或想要分享您的观点,请随时在评论区留言。

同时,不要忘记订阅我的博客以获取更多有趣的内容。在未来的文章中,我将继续探讨这个话题的不同方面,为您呈现更多深度和见解。

谢谢您的支持,期待与您在下一篇文章中再次相遇!

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

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

相关文章

如何用python实现Can总线通讯

今天去广交会参展, 里面关于工业, 有很多基于profinet、can等总线通讯协议的硬件网关, 好像总线协议一般都用于硬件嵌入式层面, 纯软方面很少涉及, 那如何使用python进行Can总线通讯呢? CAN(Controller Area Network)总线是一种常用于汽车和工业自动化中的通信协议。在…

day58 异常 IO流

异常 1异常处理机制 编译时错误 运行时错误 代码逻辑错误 2异常类结构图 java.lang.Throwable 所有异常的父类 只有它能剖出异常 java.lang.Error: extends Throwable 程序中的硬件严重问题不需要处理 java.lang.Exception extends Throwable 异常 指出要捕获的处理条件 3异常…

外贸独立站使用简站WordPress模板搭建的优势

在全球化的商业浪潮中,外贸独立站成为了企业走出国门、开拓国际市场的重要桥梁。而简站WordPress模板作为一种高效、便捷的建站工具,正受到越来越多外贸企业的青睐。本文将从多个方面分析使用简站WordPress模板搭建外贸独立站的优势。 一、快速搭建&…

深入理解现代JavaScript:从语言特性到应用实践

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 JavaScript作为一门动态、解释性脚本语言&…

网络工程师笔记8

华为VRP系统 设备管理方式 web管理方式 命令行管理方式 修改命令:undo 基础配置命令

001 概述

什么是API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。为了…

INFINI Labs 产品更新 | Easysearch 1.7.1发布

INFINI Labs 产品又更新啦~,包括 Console,Gateway,Agent 1.23.0 和 Easysearch 1.7.1。此次版本重点修复历史遗留 Bug 、网友们提的一些需求等。以下是本次更新的详细说明。 INFINI Console v1.23.0 INFINI Console 是一款非常轻量级的多集…

express+mysql+vue,从零搭建一个商城管理系统9--添加商户

提示:学习express,搭建管理系统 文章目录 前言一、新建models/shop.js二、新建routes/shop.js三、修改routes下的index.js四、添加商户总结 前言 需求:主要学习express,所以先写service部分 一、新建models/shop.js models/shop.…

PortSwigger 基于dom的漏洞-利用 DOM 破坏来启用 XSS

进入实验随意进入一篇博客 我们可以尝试随意提交一些恶意代码看看会发生什么 很显然我们提交成功了但是我们的恶意代码貌似被过滤了 查看源码发现这里有一个过滤框架 我们打开源码分析 function loadComments(postCommentPath) {let xhr new XMLHttpRequest();xhr.onreadys…

#QT(串口助手-实现)

1.IDE:QTCreator 2.实验 3.记录 (1)在widget.h中加入必要文件,并且定义一个类指针 (2)如果有类的成员不知道怎么写,可以通过以下途径搜索 (2)设置串口数据 void Widget…

海王星(Neptune)系列和大禹(DAYU)系列OpenHarmony智能硬件配置解决方案

海王星(Neptune)系列和大禹(DAYU)系列OpenHarmony智能硬件对OS的适配、部件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:vendor/{产品解决方案厂商}/{产品名称}_。 解决方案的目录树规则如下&…

推理判断01-程永乐-图形1

课程安排 出题形式 图形推理 1、位置规律 图形题目

首尔之春在线资源最新电影1080p高清

打开下面这个链接就可以看到 首尔之春在线资源最新电影1080p高清 如果链接打不开,就复制下面的网址到浏览器打开 https://www.zhufaka.cn/liebiao/A09504AE3BF8BD06 用阿里云盘下载,下载完成之后,用迅雷播放 首尔之春在线资源最新电影10…

使用go语言实现简单的tcp通信功能

啥都不说了,直接上代码 服务端Server //Server.go package mainimport ("fmt""net""os" )func main(){//服务端在本机8888端口建立tcp监听listener,err :net.Listen("tcp","127.0.0.1:8888")ServerHandleError(…

DO-178C解读 - 软件配置索引(2)

B.3 软件生命周期环境配置索引Software Life Cycle Environment Configuration Index 软件生命周期环境配置索引(SECI)标识软件生命周期环境的配置。 编写该索引是为了帮助再现硬件和软件生命周期环境,以进行软件重新生成、重新验证或修改&a…

YoloV8改进策略:Block改进|MogaNet——高效的多阶门控聚合网络

文章目录 摘要论文:《MogaNet——高效的多阶门控聚合网络》1、简介2、相关工作2.1、视觉Transformers2.2、ViT时代的卷积网络3、从多阶博弈论交互的角度看表示瓶颈4、方法论4.1、MogaNet概述4.2、多阶门控聚合4.3、通过通道聚合进行多阶特征重新分配4.4、实现细节5、实验5.1、…

winui开发笔记(五)应用程序图标

应用程序图标、发布者、显示名称大部分都在package.appxmanifest清单文件中,可以正常打开,也可以使用xml文本编辑器打开。 以下是一个正常的应用程序中所有的与图标相关的图片: 但是设置之后会有一圈白,包括在电脑最下边一行&…

HDFS简介与部署以及故障排错(超简单)

文章目录 一、HDFS介绍1、简介2、结构模型3、文件写入过程4、文件读取过程5、文件块的存放6、存储空间管理机制6.1 文件删除和恢复删除6.2 复制因子配置6.3 文件命名空间6.4 数据复制机制 二、环境搭建(单机版)1、修改主机名2、配置ssh免密登录3、Hadoop…

自然语言:信息抽取技术在CRM系统中的应用与成效

一、引言 在当今快速变化的商业环境中,客户关系管理(CRM)已成为企业成功的关键因素。CRM系统的核心在于有效地管理客户信息,跟踪与客户的每一次互动,以及深入分析这些数据以提升客户满意度和忠诚度。在我最近参与的一个…

如何解决ros2与conda冲突的问题

在Ubuntu下安装ROS2之后,再安装Anaconda,Anaconda的base环境下的python将被作为默认python进行调用。当用户需要运行ROS2程序的时候,这种默认设置会导致报错。 安装conda并创建conda环境之后,ros2就会使用conda环境,就…