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智库其它相关文章!