目录
一、基本概念
二、常见类型
内连接(INNER JOIN):
左连接(LEFT JOIN 或 LEFT OUTER JOIN):
右连接(RIGHT JOIN 或 RIGHT OUTER JOIN):
全连接(FULL JOIN 或 FULL OUTER JOIN):
自然连接(NATURAL JOIN):
交叉连接(CROSS JOIN):
数据库连接表达式是指用于在数据库查询中连接两个或多个表的表达式。这种表达式通常用于SQL(Structured Query Language)中,以实现数据的联合查询、数据整合等目的。
一、基本概念
数据库连接表达式是SQL中的一种重要语法,它允许用户根据一定的条件将两个或多个表连接起来,从而获取这些表中相关的数据。这种连接可以是基于表中的某个或多个共同属性(字段)进行的。
二、常见类型
-
内连接(INNER JOIN):
- 含义:只返回两个表中满足连接条件的记录。
- 示例:
SELECT * FROM A INNER JOIN B ON A.key = B.key
-
左连接(LEFT JOIN 或 LEFT OUTER JOIN):
- 含义:返回左表中的所有记录,以及右表中满足连接条件的记录。如果右表中没有满足条件的记录,则结果中的右表部分会显示为NULL。
- 示例:
SELECT * FROM A LEFT JOIN B ON A.key = B.key
SELECT * FROM A LEFT JOIN B ON A.key = B.key WHERE B.key is NULL
-
右连接(RIGHT JOIN 或 RIGHT OUTER JOIN):
- 含义:返回右表中的所有记录,以及左表中满足连接条件的记录。如果左表中没有满足条件的记录,则结果中的左表部分会显示为NULL。
- 示例:
SELECT * FROM A RIGHT JOIN B ON A.key = B.key
SELECT * FROM A RIGHT JOIN B ON A.key = B.key WHERE B.key is NULL
-
全连接(FULL JOIN 或 FULL OUTER JOIN):
- 含义:返回两个表中所有的记录,无论是否满足连接条件。如果某个表中没有满足条件的记录,则结果中的对应部分会显示为NULL。
- 示例:
SELECT * FROM A FULL JOIN B ON A.key = B.key
(注意:并非所有数据库系统都支持FULL JOIN)。 SELECT * FROM A FULL JOIN B ON A.key = B.key WHERE A.key is NULL OR B.key is NULL
-
自然连接(NATURAL JOIN):
- 含义:基于两个表中具有相同名称和相同数据类型的列自动进行连接。自然连接会消除结果中的重复列。
- 示例:
SELECT * FROM A NATURAL JOIN B
-
交叉连接(CROSS JOIN):
- 含义:返回两个表的笛卡尔积,即两个表中所有记录的组合。
- 示例:
SELECT * FROM 表1 CROSS JOIN 表2
。