SQL INTERSECT2025年2月2日 | 阅读6分钟 INTERSECT 是结构化查询语言中的一个运算符,它将两个 SELECT 语句的结果集组合起来,并仅返回第一个 SELECT 语句中与第二个 SELECT 语句结果集相同的行。 简单来说,我们可以说这个运算符显示了两个 SELECT 语句中的共同行。 此运算符在 MySQL 数据库中不起作用。 INTERSECT 运算符的语法 与 INTERSECT SQL 运算符连接的每个 SELECT 语句的数据类型和字段数量必须相同。 SQL 中 INTERSECT 运算符的示例要理解 INTERSECT 运算符的示例,我们需要在 SQL 中创建两个不同的表 Old_Faculty_Info 和 New_Faculty_Info,并将 IIT 教师的记录插入到这两个表中。 以下 CREATE 语句在 IIT_College 数据库中创建 Old_Faculty_Info 表 以下 INSERT 查询将教师的记录插入到 Old_Faculty_Info 表中 以下 SQL 语句将在屏幕上显示 Old_Faculty_Info 表的记录
Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_City | Faculty_Salary |
---|
1001 | Arush | Sharma | 4001 | 2020-01-02 | 德里 | 20000 | 1002 | Bulbul | Roy | 4002 | 2019-12-31 | 德里 | 38000 | 1004 | Saurabh | Roy | 4001 | 2020-10-10 | 孟买 | 45000 | 1005 | Shivani | Singhania | 4001 | 2019-07-15 | 加尔各答 | 42000 | 1006 | Avinash | Sharma | 4002 | 2019-11-11 | 德里 | 28000 | 1007 | Shyam | Besas | 4003 | 2021-06-21 | 勒克瑙 | 35000 |
以下 CREATE 语句在 IIT_College 数据库中创建 New_Faculty_Info 表 以下 INSERT 查询将教师的记录插入到 New_Faculty_Info 表中 步骤 4:查看插入的数据以下 SELECT 语句显示 New_Faculty_Info 表的数据。
Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_City | Faculty_Salary |
---|
1010 | Ankush | Roy | 4004 | 2018-10-02 | 德里 | 25000 | 1001 | Arush | Sharma | 4001 | 2020-01-02 | 德里 | 20000 | 1009 | Raj | Singhania | 4005 | 2021-05-10 | Noida | 40000 | 1005 | Shivani | Singhania | 4001 | 2019-07-15 | 加尔各答 | 42000 | 1008 | Avinabh | Chetya | 4002 | 2018-11-11 | Banglore | 22000 | 1007 | Shyam | Besas | 4003 | 2021-06-21 | 勒克瑙 | 35000 |
以下查询显示了两个表中教师的共同记录 输出 Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_City | Faculty_Salary |
---|
1001 | Arush | Sharma | 4001 | 2020-01-02 | 德里 | 20000 | 1005 | Shivani | Singhania | 4001 | 2019-07-15 | 加尔各答 | 42000 | 1007 | Shyam | Besas | 4003 | 2021-06-21 | 勒克瑙 | 35000 |
带有 WHERE 子句的 INTERSECT 运算符SQL WHERE 子句也可以与 INTERSECT 运算符一起使用,用于过滤一个或两个表中的记录。 带有 WHERE 子句的 INTERSECT 语法 带有 WHERE 子句的 INTERSECT 示例以下查询显示了以上表中工资大于等于 35000 的教师记录 输出 Faculty_Id | Faculty_First_Name | Faculty_Last_Name | Faculty_Dept_Id | Faculty_Joining_Date | Faculty_City | Faculty_Salary |
---|
1005 | Shivani | Singhania | 4001 | 2019-07-15 | 加尔各答 | 42000 | 1007 | Shyam | Besas | 4003 | 2021-06-21 | 勒克瑙 | 35000 |
带有 ORDER BY 子句的 INTERSECT 运算符SQL ORDER BY 子句也可以与 INTERSECT 运算符一起使用,以根据指定的组显示记录。 以下块显示了带有 ORDER BY 子句的 INTERSECT 运算符的语法 示例要理解带有 Order By 子句的 Intersect 运算符的示例,我们需要在 SQL 中创建两个表。 以下 CREATE 语句在 IT_Company 数据库中创建 Old_Employee_Info 表 以下 INSERT 查询将员工的记录插入到 Old_Employee_Info 表中 以下查询显示 Old_Employee_Info 表的数据。
Employee_ID | Employee_Name | Employee_Gender | Employee_Age | Employee_Saalary |
---|
1001 | Arush | 男性 (Male) | 18 | 35000 | 1002 | Bulbul | 女性 (Female) | 18 | 42000 | 1004 | Saurabh | 男性 (Male) | 20 | 45000 | 1005 | Shivani | 女性 (Female) | 25 | 28000 | 1006 | Avinash | 男性 (Male) | 22 | 38000 | 1007 | Shyam | 男性 (Male) | 18 | 20000 |
以下 CREATE 语句在 IT_Company 数据库中创建 New_Employee_Info 表 以下 INSERT 查询将员工的记录插入到 New_Employee_Info 表中 以下查询显示 New_Employee_Info 表的数据。
Employee_ID | Employee_Name | Employee_Gender | Employee_Age | Employee_Saalary |
---|
1007 | Anuj | 男性 (Male) | 22 | 49000 | 1010 | Saket | 男性 (Male) | 29 | 69000 | 1005 | Shivani | 女性 (Female) | 25 | 28000 | 1006 | Avinash | 男性 (Male) | 22 | 38000 | 1009 | 女性 (Female) | 男性 (Male) | 18 | 25000 |
以下查询以降序显示两个表中共同员工的记录
Employee_ID | Employee_Name | Employee_Gender | Employee_Age | Employee_Saalary |
---|
1006 | Avinash | 男性 (Male) | 22 | 38000 | 1005 | Shivani | 女性 (Female) | 25 | 28000 |
|