注册

sql中连接符的用法

sql 中的连接符用于连接表、行或值以组合数据,包括 inner join(匹配行)、left join(返回左侧表所有行)、right join(返回右侧表所有行)、full join(返回所有行)、union(合并表)、union all(保留所有行)、intersect(返回交集)、except(返回左侧表中不包含在右侧表中的行)、运算符(字符串连接、乘法、除法)和 ||(字符串连接)。

SQL 中连接符

在 SQL 中,连接符用于连接两个或多个表、行或值。其主要作用是组合数据,以创建更复杂、更全面的数据集。

表连接

  • INNER JOIN:连接具有匹配列的行的两个表,仅返回匹配的行。
  • LEFT JOIN:连接两个表,并返回左侧表的全部行,以及与右侧表匹配的行的右侧表数据(如果存在)。
  • RIGHT JOIN:与 LEFT JOIN 相反,返回右侧表的全部行,以及与左侧表匹配的行的左侧表数据(如果存在)。
  • FULL JOIN:返回两个表的全部行,以及每个表的匹配行。

行连接

  • UNION:合并两个或多个具有相同结构的表或查询结果,移除重复行。
  • UNION ALL:合并两个或多个具有相同结构的表或查询结果,保留所有行,包括重复行。
  • INTERSECT:返回两个或多个表或查询结果中相交的行。
  • EXCEPT:返回第一个表或查询结果中不包含在第二个表或查询结果中的行。

值连接

  • +:连接字符串。
  • -:减法操作。
  • *:乘法操作。
  • /:除法操作。
  • ||:连接字符串(ANSI SQL 标准中)。

示例

假设我们有两个表:

学生表:
| id | 姓名 | 年龄 |
|---|---|---|
| 1 | John | 20 |
| 2 | Mary | 21 |

课程表:
| id | 课程名称 | 学生id |
|---|---|---|
| 1 | 数学 | 1 |
| 2 | 科学 | 2 |

要返回注册课程的学生信息,我们可以使用 LEFT JOIN:

SELECT *
FROM 学生表
LEFT JOIN 课程表
ON 学生表.id = 课程表.学生id;

这将输出:

| id | 姓名 | 年龄 | id | 课程名称 | 学生id |
|---|---|---|---|---|---|
| 1 | John | 20 | 1 | 数学 | 1 |
| 2 | Mary | 21 | 2 | 科学 | 2 |

以上就是sql中连接符的用法的详细内容,更多请关注CTO智库其它相关文章!