SQL FULL JOIN 关键字
只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
FULL JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。
原始的表 (用在例子中的):
"Persons" 表:
Id_P
LastName
FirstName
Address
City
1 |
Adams |
John |
Oxford Street |
London |
2 |
Bush |
George |
Fifth Avenue |
New York |
3 |
Carter |
Thomas |
Changan Street |
Beijing |
"Orders" 表:
Id_O
OrderNo
Id_P
1 |
77895 |
3 |
2 |
44678 |
3 |
3 |
22456 |
1 |
4 |
24562 |
1 |
5 |
34764 |
65 |
全连接(FULL JOIN)实例
现在,我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。
您可以使用下面的 SELECT 语句:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
结果集:
LastName
FirstName
OrderNo
Adams |
John |
22456 |
Adams |
John |
24562 |
Carter |
Thomas |
77895 |
Carter |
Thomas |
44678 |
Bush |
George |
|
|
|
34764 |
FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。
与以下的sql语句等同:
SELECT a.LastName, a.FirstName, b.OrderNo
FROM Persons a,
Orders b
where a.Id_P(+)=b.Id_P(+)
ORDER BY a.LastName
分享到:
相关推荐
文章目录SQL 连接(JOIN)不同的 SQL JOINSQL INNER JOIN 关键字SQL LEFT JOIN 关键字SQL RIGHT JOIN 关键字SQL FULL OUTER JOIN 关键字 SQL 连接(JOIN) SQL join 用于把来自两个或多个表的行结合起来。 下图展示了 ...
- **FULL JOIN**:返回左表和右表中所有匹配的行。如果任意一边没有匹配,则结果为 `NULL`。 - **CROSS JOIN**:返回两个表的所有可能组合。 #### 十三、WHERE 和 FROM 子句 - **WHERE 子句**:用于过滤数据,仅...
- **SQL FULL JOIN关键字**: - 返回两个表中的所有行。 - **SQL UNION和UNION ALL操作符**: - **UNION**:只包含一次所有输入集合中的唯一值。 - **UNION ALL**:包含所有值,包括重复的行。 - **SQL SELECT ...
SQL的关键字包括但不限于:`SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`, `ALTER`, `GRANT`, `REVOKE`, `JOIN`, `LEFT JOIN`, `RIGHT JOIN`, `INNER JOIN`, `OUTER JOIN`, `LIKE`, `BETWEEN`, `IN`, `...
JOIN关键字是SQL查询中的关键部分,它允许我们在不同的表之间建立联系,以获取更丰富的信息。在这个主题中,我们将深入探讨INNER JOIN和OUTER JOIN,它们是JOIN的两种主要类型。 首先,我们来看INNER JOIN。INNER ...
如果存在外连接(LEFT、RIGHT或FULL OUTER JOIN),即使匹配不到的记录也会被包含进来,以保留外部表的所有行。 接着,`WHERE`子句对`FROM`产生的临时表进行进一步过滤,只保留满足指定条件的行,生成新的虚拟表VT2...
全连接使用 FULL JOIN 或 FULL OUTER JOIN 关键字来指定。 例如,在 authors 表和 publishers 表中,使用全连接可以检索所有作者和出版社的信息,并显示他们的城市信息。 四、内连接(INNER JOIN) 内连接返回...
3. **SQL关键字查询**:SQL的关键字如WHERE、GROUP BY、HAVING、ORDER BY、JOIN等用于构建查询结构。WHERE用于设置查询条件,GROUP BY用于数据分组,HAVING用于对分组后的数据进行筛选,ORDER BY用于排序结果,JOIN...
6. MySQL 没有提供 SQL 标准中的 FULL JOIN(全连接),可以使用 UNION 关键字来合并 LEFT JOIN 与 RIGHT JOIN,达到模拟 FULL JOIN 的目的。 7. CROSS JOIN 是一种特殊的 JOIN 类型,在不指定 ON 条件下,CROSS ...
Microsoft SQL Server 2000 支持 SQL-92 关键字,包括 LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN 等。这些关键字可以在 FROM 子句中使用,以指定外联接的类型。 旧式 Transact-SQL 外联接语法 SQL ...
2. **联接操作**:书中会详细介绍INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN等不同类型的联接,以及如何使用JOIN关键字组合多个表的数据。 3. **子查询**:子查询可以在SELECT、FROM和WHERE子句中嵌套,...
例如,JOIN操作用于合并两个或多个表的数据,如 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL OUTER JOIN,每种类型都有其特定的结合方式。 Transactions管理也是SQL Server的重要部分,BEGIN TRANSACTION、COMMIT...
而显式内连接则使用INNER JOIN关键字,如语句2所示。以下是一个内连接的例子: ```sql -- 隐式内连接 SELECT O.ID, O.ORDER_NUMBER, C.ID, C.NAME FROM ORDERS O, CUSTOMERS C WHERE O.CUSTOMER_ID = C.ID; -- ...
2. **子查询与联接**:讲解如何使用子查询进行嵌套查询,以及各种类型的联接操作,如内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN、FULL JOIN)和交叉连接(CROSS JOIN)。 3. **集合操作**:可能涉及到...
2. **联接操作**:通过JOIN关键字,可以将多个表的数据进行合并查询,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN,满足不同类型的关联需求。 3. **聚合函数**:T-SQL提供了一系列聚合函数,如COUNT()...
左外联返回左表(在JOIN关键字之前指定的表)的所有记录,以及右表中与左表匹配的记录。如果右表中没有匹配的记录,结果将显示为NULL。以下是一个左外联的例子: ```sql SELECT column_name(s) FROM table1 LEFT ...
常用的JOIN有INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。例如,从两个表中获取匹配数据: SELECT * FROM Table1 INNER JOIN Table2 ON Table1.id = Table2.id 14. SQL OUTER JOIN OUTER JOIN用于获取左表...
- **联接操作**:提供了更丰富的JOIN类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。 - **集合操作**:UNION、INTERSECT和EXCEPT用于合并或比较多个查询结果集。 - **窗口函数**:ROW_NUMBER、...
左外连接会返回左表(在JOIN关键字前的表)的所有行,即使在右表中没有匹配的行。对于那些在右表中没有匹配的左表行,结果中的对应列将填充NULL值。例如: ```sql SELECT s.name, g.sn, g.score FROM student ...