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

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

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

在本文中,我们将讨论 SQL 的概述,我们的主要重点将放在如何在 SQL 中使用联合子句执行完全外连接。让我们一一讨论。

概述 :
为了管理关系数据库,SQL 是一种结构化查询语言,用于执行创建、维护数据库表、从数据库中检索信息等操作。这里我们将看到如何使用联合子句创建 SQL 全外联接。如果数据库不允许 FULL JOIN(MySQL 不允许),您可以使用 UNION 子句组合 LEFT 和 RIGHT JOINS。

使用 Union Clause 实现 SQL Full Outer Join 的步骤:
在这里,我们将首先创建一个名为“geeks”的数据库,然后在该数据库中创建两个表“department”和“employee”。

步骤 1:创建数据库:
使用以下 SQL 查询创建数据库,如下所示。

CREATE geeks;

步骤 2:使用数据库:
要使用此数据库,请使用以下 SQL 查询,如下所示。



USE geeks;

步骤 3:创建表:
使用 SQL 查询在 'geeks' 数据库中创建一个表“部门”,如下所示。

CREATE TABLE department
(
   ID int,
   SALARY int,
   NAME Varchar(20),
   DEPT_ID Varchar(255)
);

第 4 步:插入数据:
使用 SQL 查询将值添加到表中,如下所示。

INSERT INTO department VALUES (1, 34000, 'ANURAG', 'UI DEVELOPERS');
INSERT INTO department VALUES (2, 33000, 'HARSH', 'BACKEND DEVELOPERS');
INSERT INTO department VALUES (3, 36000, 'SUMIT', 'BACKEND DEVELOPERS');
INSERT INTO department VALUES (4, 36000, 'RUHI', 'UI DEVELOPERS');
INSERT INTO department VALUES (5, 37000, 'KAE', 'UI DEVELOPERS');

步骤 5:验证插入的数据:
选择表格内的数据如下。

SELECT * FROM department;

输出 :

IDSALARY NAMEDEPT_ID
134000ANURAGUI DEVELOPERS
233000HARSHBACKEND DEVELOPERS
336000SUMITBACKEND DEVELOPERS
436000RUHIUI DEVELOPERS
537000KAEUI DEVELOPERS

步骤 6:创建表:
在'geeksdb'数据库中创建表“employee”如下。

Create Table employee(
 ID int,
 Email Varchar(255),
 City Varchar(20) 
);

步骤 7:插入值:
将值添加到表“employee”中,如下所示。

INSERT INTO employee VALUES (1, 'ANURAG@xyz.com', 'Noida');
INSERT INTO employee VALUES (2, 'HARSH@xyz.com', 'Jaipur');
INSERT INTO employee VALUES (3, 'SUMIT@xyz.com', 'Noida');
INSERT INTO employee VALUES (4, 'RUHI@xyz.com', 'Jaipur');
INSERT INTO employee VALUES (5, 'KAE@xyz.com', 'Noida');

步骤 8:验证插入的数据:
选择表格内的数据如下。

SELECT * FROM employee;

输出 :

IDEmailCity
1ANURAG@xyz.comNoida
2HARSH@xyz.comJaipur
3SUMIT@xyz.comNoida
4RUHI@xyz.comJaipur
5KAE@xyz.comNoida

第 9 步:使用 Union 子句执行完全外部联接:
使用联合子句创建 SQL 完全外部联接。如果数据库不允许 FULL JOIN(MySQL 不允许),您可以使用 UNION 子句组合 LEFT 和 RIGHT JOINS。
句法 -

SELECT  *
  FROM table1
  LEFT JOIN table2
  ON table1.columname = table2.columname
UNION 
  SELECT *
  FROM table1
  RIGHT JOIN table2
   ON table1.columname = table2.columname

例子 -

SELECT  *
 FROM department
 LEFT JOIN employee
On department.ID = employee.ID
UNION
 SELECT *
 FROM department
 RIGHT JOIN employee
 On department.ID = employee.ID

输出 :

IDSALARYNAMEDEPT_IDIDEmailCity
134000ANURAG UI DEVELOPERS1ANURAG@xyz.comNoida
233000HARSHBACKEND DEVELOPERS2HARSH@xyz.comJaipur
336000SUMITBACKEND DEVELOPERS3SUMIT@xyz.comNoida
436000RUHI UI DEVELOPERS4RUHI@xyz.comJaipur
537000KAE UI DEVELOPERS5 KAE@xyz.com Noida