MySQL内连接解析查询两张表中共有的数据(mysql中什么叫内连接)
MySQL内连接解析:查询两张表中共有的数据
在MySQL中,内连接是一种常见的连接方式,用于查询两张表中共有的数据。本文将介绍MySQL内连接的定义、用法和示例。
## 定义
内连接是通过将两张表的共同列进行匹配,返回两张表共有的数据的连接方式。内连接只返回满足条件的数据行。
## 用法
MySQL内连接的语法为:
SELECT column_name(s)
FROM table1INNER JOIN table2
ON table1.column_name = table2.column_name;
其中,SELECT语句用于选择需要查询的列;FROM语句用于指定需要查询的表;INNER JOIN用于指定使用内连接;ON语句用于指定两张表的共同列。
## 示例
下面以一个医院管理系统为例,查询两张表(病人表和医生表)中同时存在的病人和医生信息。
病人表patient:
| Patient\_ID | Patient\_Name | Patient\_Age | Patient\_Gender |
| :-: | :-: | :-: | :-: |
| 001 | 小明 | 27 | 男 |
| 002 | 小红 | 31 | 女 |
| 003 | 小刚 | 24 | 男 |
医生表doctor:
| Doctor\_ID | Doctor\_Name | Doctor\_Age | Doctor\_Gender |
| :-: | :-: | :-: | :-: |
| 001 | 李医生 | 35 | 男 |
| 002 | 张医生 | 28 | 女 |
| 003 | 王医生 | 40 | 男 |
下面的查询语句用于查询同时存在于病人表和医生表中的男性信息:
SELECT patient.Patient_Name, doctor.Doctor_Name
FROM patientINNER JOIN doctor
ON patient.Patient_Gender = doctor.Doctor_GenderWHERE patient.Patient_Gender = '男';
执行结果为:
| Patient\_Name | Doctor\_Name |
| :-: | :-: |
| 小明 | 李医生 |
| 小刚 | 李医生 |
| 小刚 | 王医生 |
上述代码中,使用了INNER JOIN语句,将病人表patient和医生表doctor连接起来。连接条件为patient.Patient_Gender = doctor.Doctor_Gender,即通过男性进行连接。然后使用WHERE语句筛选出男性数据,最终输出两张表中同时存在的病人和医生信息。
## 结论
MySQL内连接是查询两张表中共有数据的一种有效方式。掌握INNER JOIN语句的使用方法,可以更加方便地进行数据的查询。