📜  使用 Where 子句的 SQL 完全外部联接

📅  最后修改于: 2022-05-13 01:54:40.120000             🧑  作者: Mango

使用 Where 子句的 SQL 完全外部联接

SQL 连接语句用于根据公共属性或字段组合来自两个或两个以上表的行或信息。 SQL 中基本上有四种类型的JOINS。

在本文中,我们将讨论使用 WHERE 子句的 FULL OUTER JOIN。

考虑下面的两个表:

样本输入表 1

                             PURCHASE INFORMATION
Product_IDMobile_BrandCost (INR)Customer_Name
1OnePlus Nord 5G30,000Rishabh
2Samsung Galaxy M5128,000Srishti
3iPhone 12 Pro1,28,000Aman
4Samsung Galaxy S2055,000Harsh
5Realme X50 Pro40,000Manjari

样本输入表 2



                 CUSTOMER INFORMATION
Customer_IDCustomer_NameE_Mail Address
1Srishtiabc@gmail.com
2Rajdeepdef@gmail.com
3Amanxxx@gmail.com
4Poojaxyz@gmail.com

FULL OUTER JOIN : Full Join 提供 LEFT JOIN 和 RIGHT JOIN 串联的结果。结果将包含表 1 和表 2 中的所有行。结果表中没有匹配的行将具有 NULL 值。

SELECT * FROM Table1
FULL OUTER JOIN Table2
ON Table1.column_match=Table2.column_match;

Table1: First Table in Database.
Table2: Second Table in Database.
column_match: The column common to both the tables.

示例输出:

                                                                                  RESULTS
Product_IDMobile_BrandCost (INR)Customer_NameCustomer_IDCustomer_NameE_Mail Address
1OnePlus Nord 5G30,000RishabhNULLNULLNULL
2Samsung Galaxy M5128,000Srishti1Srishtiabc@gmail.com
3iPhone 12 Pro1,28,000Aman3Amanxxx@gmail.com
4Samsung Galaxy S2055,000HarshNULLNULLNULL
5Realme X50 Pro40,000ManjariNULLNULLNULL
NULLNULLNULLNULL2Rajdeepdef@gmail.com
NULLNULLNULLNULL4Poojaxyz@gmail.com

使用 WHERE CLAUSE 的 FULL OUTER JOIN :将 WHERE 子句与 FULL OUTER JOIN 一起使用有助于检索在连接具有 NULL 条目的两个表时没有条目匹配的所有行。

SELECT * FROM Table1
FULL OUTER JOIN Table2
ON Table1.column_match=Table2.column_match
WHERE Table1.column is NULL
OR Table2.column is NULL;

Table1: First Table in Database.
Table2: Second Table in Database.
column_match: The column common to both the tables.
column: The column having NULL value after Full Outer Join

上述查询仅返回购买过手机且未在客户信息表中保存任何记录的客户以及未购买任何产品的客户信息。

示例输入的 SQL 查询:我们已经考虑了 Big Billion Days 期间来自电子商务网站的移动电话的客户和购买信息。数据库电子商务有两张表,一张是关于产品的信息,另一张是关于客户的信息。现在,我们将在这两个表之间执行 FULL OUTER JOIN 将它们连接到一个表中,并获得有关客户和他们从站点购买的产品的完整数据。

基本 SQL 查询:

1. 创建数据库

CREATE DATABASE database_name;

2. 创建表



CREATE TABLE Table_name(
col_1 TYPE col_1_constraint,
col_2 TYPE col_2 constraint
.....
)

col: Column name
TYPE: Data type whether an integer, variable character, etc
col_constraint: Constraints in SQL like PRIMARY KEY, NOT NULL, UNIQUE, REFERENCES, etc

3. 插入表格

INSERT INTO Table_name
VALUES(val_1, val_2, val_3, ..........)

val: Values in particular column

4. 查看表格

SELECT * FROM Table_name

有关 SQL 语法的更多信息,请访问我们的网站SQL 教程

输出 :

一、客户信息及采购信息表

采购信息表

客户信息表

2. 全外连接

FULL OUTER JOIN结果表

3. 带 WHERE 子句的全外连接

带有 WHERE 子句的 FULL OUTER JOIN 结果表