sql中join on是内连接吗-SQL
SQL 中 JOIN ON 是内连接吗?
答案: 是的,JOIN ON 是 SQL 中内连接的一种类型。
详解:
内连接是一种连接操作,它只返回两张表中存在匹配行的行。在使用 JOIN ON 时,WHERE 子句中的比较条件决定了哪些行将匹配。
以下是一个内连接的语法:
SELECT * FROM 表1 JOIN 表2 ON 表1.列名 = 表2.列名
登录后复制
在此语法中:
- SELECT * 返回两张表中所有列的值。
- FROM 表1 和 FROM 表2 指定要连接的表。
- ON 表1.列名 = 表2.列名 是比较条件,它指定连接两张表的基础。
当使用 JOIN ON 时,只有来自两张表中具有匹配值的记录的行才会被返回。这与外连接不同,外连接还会返回不匹配的记录。
示例:
假设我们有两个表:
表1:客户
客户 ID | 客户姓名 |
---|---|
1 | John Doe |
2 | Jane Smith |
表2:订单
订单 ID | 客户 ID | 订单日期 |
---|---|---|
1 | 1 | 2023-01-01 |
2 | 2 | 2023-01-02 |
使用 JOIN ON,我们可以连接这两张表以返回同时存在于客户表和订单表中的客户:
SELECT * FROM 客户 JOIN 订单 ON 客户.客户 ID = 订单.客户 ID
登录后复制
结果将如下所示:
客户 ID | 客户姓名 | 订单 ID | 订单日期 |
---|---|---|---|
1 | John Doe | 1 | 2023-01-01 |
2 | Jane Smith | 2 | 2023-01-02 |